【发布时间】:2015-01-08 11:54:06
【问题描述】:
SQL
SELECT
CONVERT(VARCHAR, EffectiveTo, 105) as EffectiveTo
FROM
CSchedules
WHERE
CId = 3278
ORDER BY
EffectiveTo ASC
日期
03-08-2014
03-09-2017
03-09-2017
03-09-2017
09-11-2014
14-12-2014
16-11-2014
16-11-2014
20-07-2014
20-12-2015
23-11-2014
24-08-2014
27-12-2015
27-12-2015
30-11-2014
31-08-2014
31-08-2014
31-08-2014
我需要按日期订购,以便:
03-09-2017
是列表中的第一个。但是它没有正确订购。基本上最晚的日期在前。
当按 DESC 排序时:
31-08-2014
31-08-2014
31-08-2014
30-11-2014
27-12-2015
27-12-2015
24-08-2014
23-11-2014
20-12-2015
20-07-2014
16-11-2014
16-11-2014
14-12-2014
09-11-2014
03-09-2017
03-09-2017
03-09-2017
03-08-2014
【问题讨论】:
-
Order by effectiveto desc然后。此外,这些日期是否存储为varchar?如果是,那不是一件好事,您需要在订购前转换为日期时间。 -
把
ASC改成DESC怎么样? -
您还需要在 order by 中进行隐蔽以将其定义为 Datetime - 请参阅我的答案
标签: sql sql-server tsql