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

时间:2019-04-05 10:28:40

标签: sql-server tsql date date-formatting

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

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

3 个答案:

答案 0 :(得分:1)

尝试使用112(即6个字符宽)的格式掩码varchar(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 :(得分:1)

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

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

PL / SQL:使用TO_CHAR函数:

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

答案 2 :(得分:0)

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