处理多年的日期

时间:2015-08-26 18:35:02

标签: sql-server-2008 date

我想以降序显示日期列。例如,我希望它显示的方式是

  

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

1 个答案:

答案 0 :(得分:1)

您可以ORDER BY原始日期值,但仍然SELECT值为VARCHAR(10),如下所示:

Select ID, CONVERT(VARCHAR(10), TestDate, 101) As [Date] FROM DateTest
ORDER BY TestDate DESC

这将按照您的意愿对它们进行排序,并仍然以VARCHAR(10)格式显示它们。