在SQL Select语句中更改日期格式

问题描述 投票:0回答:3

嗨我写了一个查询来提取创建日期,我希望输出为YYYYMM。但是,数据库中的现有格式返回YYMM。我该如何进行转换?我试图运行下面的代码,它返回一个错误,说我有一个缺少表达式。

SELECT CONVERT(VARCHAR(6,[CREATED_DATE], 120) as 'CREATED_DATE' 
FROM SGTEL10.B$GC_NETELEM
WHERE IPID IN (4001702, 4006023, 4320791);
sql-server tsql date date-formatting
3个回答
1
投票

尝试使用格式掩码112,使用varchar(6)(即6个字符宽):

SELECT CONVERT(VARCHAR(6), GETDATE(), 112);

这输出:

201904

您的完整更新查询:

SELECT CONVERT(VARCHAR(6),[CREATED_DATE], 112) AS [CREATED_DATE]
FROM SGTEL10.B$GC_NETELEM
WHERE IPID IN (4001702, 4006023, 4320791);

Tech on the Net是我最喜欢的查找SQL Server CONVERT格式掩码的参考。


1
投票

SQL Server:使用FORMAT函数格式化日期:

SELECT FORMAT(CURRENT_TIMESTAMP, 'yyyyMM')
-- 201904

PL / SQL:使用TO_CHAR函数:

SELECT TO_CHAR(CURRENT_TIMESTAMP, 'YYYYMM') FROM DUAL
-- 201904

0
投票

SELECT convert(nvarchar(10),datepart(year,getdate()))+''+ convert(nvarchar(10),datepart(month,getdate()))

© www.soinside.com 2019 - 2024. All rights reserved.