皇阿玛大圆脸表情:sql 排序,按时间

来源:百度文库 编辑:神马品牌网 时间:2024/04/26 22:03:23
我写了这样一个sql语句
select * from studentinfo order by time ASC
得到的是这样的结果
2006-7-12:23
2006-7-12:12
2006-7-17
2006-7-2
2006-7-3
我想要时间按升序排列,我想得到这样
2006-7-2
2006-7-3
2006-7-12:12
2006-7-12:23
2006-7-17
该怎么写呀,请教各位
谢谢楼下两位一级的高手,我的数据字段是DATETIME类型的,不知道怎么的我的程序又好了,很奇怪,我什么也没有改,但还是谢谢你们2位

看了一下, 你的数据信息(time字段)好像不是DATE型啊

而是字符串型, 字符串型的自动排序是按照字符的值进行的

即你现在的排序实际上是比较字符串第8个值, 按1,2,3顺序排列

如果你香按时间排序, 最好改一下字段类型

或者写个相关触发器吧, 不过很麻烦

datetime类型不能正确排序是因为你的库里有垃圾数据
2006-7-12:23 这种格式的日期不对,这种数据数据库是无法处理的,按DATETIME
排序可能会把把它转化为null比较

select * from studentinfo order by time
这样就是升序了,如果要降序,就要加上desc变为:
select * from studentinfo order by time desc

select CONVERT(CHAR(20), time, 20) AS time from studentinfo order by time