我在表中有一个字段,即varchar(12),但是该字段中的数据是日期- 1/1/2016 (我有大约5,000个日期)。我一直在试着按日期下订单,但似乎到了日期还没有下订单。如果该字段不是DateTIME字段,我将如何在该字段上进行排序??
发布于 2016-06-15 17:03:39
尝试:
Order by cast(Field as datetime)
发布于 2016-06-15 18:38:30
使用CAST()
转换"1/1/2016“之类的日期取决于本地化设置。
假设值为MM/DD/YYYY格式(一些国家确实使用DD/MM/YYYY),则更安全地编写为:
order by convert(datetime, field, 101)
然后,如果字段与此格式不完全匹配,则可能导致转换失败。为了防止此错误,Server 2012+提供了try_convert()
。
所以,我认为最好的办法是:
order by try_convert(datetime, field, 101)
https://stackoverflow.com/questions/37841527
复制相似问题