格式化日期为'DD Month YYYY'

时间:2016-03-16 04:47:30

标签: sql-server sql-server-2012

只需要一个mssql查询,其日期格式为:

'2016-03-22 00:00:00.000' 

我需要将其格式化为:

'22 March 2016'

我正在使用SQL Server 2012.我已经尝试使用谷歌搜索,而通常的106,112代码似乎不起作用。

我可以使用特定的代码格式吗?

4 个答案:

答案 0 :(得分:3)

尝试FORMAT功能:

SELECT FORMAT(GETDATE(), 'D', 'en-gb')

如果您的版本不支持FORMAT功能,可以通过连接日期部分来实现:

SELECT 
    RIGHT('00' + CAST(DATEPART(DAY, GETDATE()) AS VARCHAR(2)), 2) + ' ' +
    DATENAME(MONTH, GETDATE()) + ' ' +
    CAST(DATEPART(YEAR, GETDATE())  AS VARCHAR(4))

答案 1 :(得分:2)

在SQL Server 2012中使用格式函数

SELECT FORMAT(GETDATE(),'dd-MMMM-yyyy')

请参阅图像以获取您的数据类型参考 enter image description here

答案 2 :(得分:0)

尝试转换SQL服务器的功能:

select convert(varchar(11),cast('2016-03-22 00:00:00.000' as datetime), 106) 

答案 3 :(得分:0)

尝试此查询:

SELECT CONVERT(VARCHAR, CONVERT(DATETIME, '2016-03-22 00:00:00.000'), 106)

您需要转换为DATETIME,然后您才能获得所需的输出

More Datetime Sql formate

SQLFiddle

这可能对您有所帮助