月份和年份的日期时间格式

时间:2015-03-20 11:04:26

标签: sql tsql

我想格式化一个datetime列,如下所示:“March 2004”。目前,我试过

    DECLARE @Date VARCHAR(20) = '2004-03-05 01:00'

    SELECT CONVERT(VARCHAR(20),CAST(@Date AS DATETIME),13) AS DateFormats

但没有得到正确的结果。

3 个答案:

答案 0 :(得分:2)

您应该在呈现数据时应用格式,而不是在查询中,但要回答问题,如果您使用的是SQL Server 2012或更高版本,则可以使用FORMAT

DECLARE @Date datetime = '2004-03-05 01:00'
SELECT FORMAT( @Date, 'MMMM yyyy' ) AS DateFormats

答案 1 :(得分:1)

类似的东西:

DECLARE @Date VARCHAR(20) = '2004-03-05 01:00'
SELECT DATENAME(MONTH, @Date) + ' ' + DATENAME(YEAR, @Date)

DATENAME的更多内容可以在https://msdn.microsoft.com/en-gb/library/ms174395.aspx

找到

基本上,它会将日期和月份的一部分作为日期的一部分并将它们连接在一起。

答案 2 :(得分:0)

所有内置格式都不包含整月。相反,请使用datename()

select datename(month, @date) + ' ' + datename(year, @date)