日期:2014-05-17  浏览次数:20390 次

SQL 日期排序问题
数据库中有几行数据,其中的日期字段格式是这样的:2012-11-15
排序的时候发现有问题,貌似不是按照日期顺序排序的,而是按照文本的排序规则
比如:2012-11-15 > 2012-11-1
      2012-11-15 > 2012-11-11
      2012-11-15 < 2012-11-2
      2012-11-15 < 2012-11-3
类似这样的。
请问如何按照日期的顺序来排序?
------最佳解决方案--------------------
排序的时候convert(date,列名)
------其他解决方案--------------------
select *
from Tablename
order by CAST(datefield as DATE)
------其他解决方案--------------------
select *
from Tablename
order by CAST(datefield as Datetime)
也可以
------其他解决方案--------------------
估计楼主存储日期的列为文本格式的吧,把他转化成日期格式就行了
 

convert (datetime,[列名],23)

就行了
------其他解决方案--------------------
顺利解决,多谢各位!