SQL问题高手指点下谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/05 23:50:01
跨年份的时间排列问题。为什么我用倒叙排列完之后,年份是正确的,但是到了日期那里却不正确了!举个例子:
2008-1-1
2007-9-9
2007-9-7
2007-8-8
2007-12-5
2007-12-4
2007-12-31
2007-12-20
2007-12-17
2007-12-1
想请教一下用什么语句来使它可以正确的倒叙排列!
时间的字段名字是createtime
字符类型的应该怎么排列 请教一下给个答案谢谢
我的查询语句是select * from 表名 order by createtime desc 还有这个是服务器上的表,我不可能去因为方便查而去改它的字段,所以请教各位朋友帮帮我!

在查询时,将createtime字段转换成datetime类型即可正确排序,而不用改动原表的数据类型.

参考如下:
select field1,...,fieldN,convert(datetime,createtime,120) as NewCreatetime from 表 order by NewCreatetime Desc

或者
select * from 表 order by convert(datetime,createtime,120) desc

createtime字段格式是不是字符类型的?
看排序的结果好像是字符类型的,而不是日期类型的

是啊,看着你那不像是 datetime 类型的数据啊,

其实如果想要做为排序字段的话,你可以把日期转换成整型,

20070112
20070512
20071212

这样的话速度还快一些呢。