在sql 2000里,updatetime是varchar型的,现在想让它按升序排列成,那种日期格式的那种,比如:2012-3-20,2012-3-9,2012-3-7,2012-3-17就应该显示成:2012-3-7,2012-3-9,2012-3-17,2012-3-20
而不是这样的2012-3-17,2012-3-20,2012-3-7,2012-3-9(这种好像是按一个位置一个位置的比较)
如果写成
select * from test
order by cast(upatetime as datetime)
的话,这样会把后面的时分秒都显示出来,就是会变成2012-3-7 0:0:00,2012-3-9 0:0:00,2012-3-17 0:0:00,2012-3-20 0:0:00但是我不要后面那个0:0:00,请问怎么设置呢?谢谢了
而不是这样的2012-3-17,2012-3-20,2012-3-7,2012-3-9(这种好像是按一个位置一个位置的比较)
如果写成
select * from test
order by cast(upatetime as datetime)
的话,这样会把后面的时分秒都显示出来,就是会变成2012-3-7 0:0:00,2012-3-9 0:0:00,2012-3-17 0:0:00,2012-3-20 0:0:00但是我不要后面那个0:0:00,请问怎么设置呢?谢谢了
order by cast(upatetime as datetime)这样应该是可以的呀!
排序的时候按转换后的日期类型排,查询的依旧是字符串形式的。
order by cast(upatetime as datetime)updatetime是字符串类型