SQL Server中的日期时间格式

时间:2014-03-24 05:26:57

标签: sql-server-2008

任何人都可以指导我获得以下日期格式吗?

 18th Mar 2014

我确实看到支持其他日期格式。但是,我需要在日期之后。

2 个答案:

答案 0 :(得分:5)

也许不是最简单的方法,但是应该这样做;

SELECT CAST(DATEPART(d, dt) AS NVARCHAR(2)) + 
  CASE DATEPART(d, dt)  WHEN 1  THEN 'st' WHEN 2 THEN 'nd'
                        WHEN 3  THEN 'rd' WHEN 21 THEN 'st'
                        WHEN 22 THEN 'nd' WHEN 23 THEN 'rd' 
                        WHEN 31 THEN 'st' ELSE 'th' END +
  CAST(SUBSTRING(CONVERT(NVARCHAR(256), dt, 106), 3, 256) AS NVARCHAR(256))
AS [myDate]
FROM test;

An SQLfiddle to test with

答案 1 :(得分:1)

试试这个

SELECT REPLACE(CONVERT(VARCHAR(11), GETDATE(), 106), Left(CONVERT(VARCHAR(11), GETDATE(), 106),2), Left(CONVERT(VARCHAR(11), GETDATE(), 106),2) + 'th') AS [DD Mon YYYY]

<强> Fiddle Demo