0

我正在与 SQL Server 的日期检索作斗争。谁能帮我?我想运行一个查询,它将返回格式为DD-Month-YYYY. 我尝试了几次谷歌搜索,但还没有得到任何帮助。

这是我的做法:

SELECT OrderDate 
FROM tblOrders;

它返回2010-01-23 00:00:00.000。我想检索:23-January-2010

4

4 回答 4

1

日期是日期是日期。它闻起来和任何其他名字一样甜。

你问的是格式化。

您可以使用将日期转换为字符串convert

 select convert(varchar(20), OrderDate,106) from orders

如果你想获得完整的月份名称,那么你可以使用datename

 select datename(day, orderdate)+'-'
      + datename(month, orderdate)+'-'
      + datename(year,orderdate)
 from orders
于 2013-10-19T16:30:43.403 回答
1

如果它的 sql server 2012 您可以选择 FORMAT() 函数,该函数与之前的版本相比提供了简单的格式化。

SELECT FORMAT(Orderdate,'D','en-gb') as Formatted_Orderdate from tblOrders

请参阅http://technet.microsoft.com/en-us/library/hh213505.aspx

于 2013-10-19T16:42:11.437 回答
0

尝试这个:

SELECT CAST(DAY(SYSDATETIME()) AS VARCHAR(2)) + '-' + DATENAME(MM, SYSDATETIME()) + '-' + RIGHT(CAST(YEAR(SYSDATETIME()) AS VARCHAR(4)), 2) AS [DD Month YY]

我正在使用 SQL Server 2008 R2 Express

于 2013-10-19T16:53:29.317 回答
0

几天前我回答了同样的问题

SELECT CAST(DAY(GETDATE()) AS VARCHAR(2)) + ' ' + DATENAME(MM, GETDATE()) + ' ' + CAST(YEAR(GETDATE()) AS VARCHAR(4)) AS [DD Month YYYY

将日期时间列格式化为 DD MONTH YYYY

于 2013-10-19T19:18:26.560 回答