【发布时间】:2015-08-26 18:35:02
【问题描述】:
我想按降序显示日期列。例如,我希望它显示的方式是
2015 年 4 月 15 日
2015 年 3 月 15 日
2014 年 4 月 15 日
2014 年 3 月 15 日
2013 年 4 月 15 日
2013 年 3 月 15 日
但是,我的查询结果按月降序显示。我应该改变什么以获得所需格式的结果?
Create Table DateTest
(
ID int
,testdate datetime
)
Insert Into DateTest Values
(1, '2013-03-15 00:00:00.000')
,(2,'2014-03-15 00:00:00.000')
,(3,'2015-03-15 00:00:00.000')
,(4,'2013-04-15 00:00:00.000')
,(5,'2014-04-15 00:00:00.000')
,(6,'2015-04-15 00:00:00.000')
Select ID, CONVERT(VARCHAR(10), TestDate, 101) As [Date] FROM DateTest
ORDER BY [Date] DESC
【问题讨论】:
-
因为您将其排序为
VARCHAR(10)。这会将日期视为纯文本,并进行相应的排序。如果要按实际日期排序,请不要使用CONVERT(),或者确保将其转换回DATE或DATETIME。
标签: sql-server-2008 date