0
如何将日期2009-01-27 11:47:00.000转换为2009年1月24日,还能够保留日期数据类型以便能够按照日期不按字母顺序排序?SQL Server 2008 - 日期格式仍然保留日期数据类型
I.e.日期排序
24 Jan 2009
03 Feb 2009
不
03 Feb 2009
24 Jan 2009
谢谢。
如何将日期2009-01-27 11:47:00.000转换为2009年1月24日,还能够保留日期数据类型以便能够按照日期不按字母顺序排序?SQL Server 2008 - 日期格式仍然保留日期数据类型
I.e.日期排序
24 Jan 2009
03 Feb 2009
不
03 Feb 2009
24 Jan 2009
谢谢。
你可以把它转换为你选择一个字符串,但实际柱犹排序:
Select CONVERT(varchar(11), Orders.ShipDate, 6) As FormatedDate
FROM Orders
Order by ShipDate Desc
SELECT PrettyDate = CONVERT(CHAR(11), ShipDate, 106)
FROM dbo.Orders
ORDER BY CONVERT(DATE, ShipDate), customer_no;
感谢您的答复。如果我不想通过时间戳订购,那么我按日期订购,然后按customer_no订购? – HL8 2012-02-08 02:23:00
请参阅此[线程](http://stackoverflow.com/questions/1177449/best-approach-to-remove-time-part-of-datetime-in-sql-server)。如果您使用的是SQL Server 2008,则可以执行**通过cast命令(ShipDate as DATE)Desc **或者如果使用和更早的SQL Server版本**按DATEADD排序(dd,DATEDIFF(dd,0,ShipDate),0 )** – codechurn 2012-02-08 02:45:55