MS SQL按日期,时间(上午/下午)排序

时间:2015-11-04 17:34:48

标签: sql sql-server

我正在尝试按日期和时间排序,但时间是上午/下午格式,所以我尝试将其转换为军事时间,但它仍然无法正常工作。 CRT_DATE是数据类型:日期和CRTUP_TIME是nvarchar

MyQuery = "SELECT * FROM TABLE1 WHERE ACTIVE=1 and ORIGINAL_P=2 ORDER BY CRT_DATE, CONVERT(VARCHAR(8), CRTUP_TIME, 108)"

有人可以向我解释我做错了什么吗?非常感谢任何帮助!! :)

2 个答案:

答案 0 :(得分:1)

您的|=在类型转换方面基本上没有做任何事情。您将CONVERT()转换为nvarchar。您需要将其转换为varchar数据类型,以进行相应的排序。请尝试改为:

TIME

答案 1 :(得分:0)

我不确定您是否需要转换CRTUP_TIME。但是,如果CRTUP_TIME包含实际时间,例如" 10:05:44:00 AM",则您的转化仅限于前8个字符" 10:05:44"并截断其余部分。