我正在使用SQL Server 2008,我有一个表,其列名为ApTime
,数据类型为TIME
,以24小时格式存储时间。
从表中获取数据时,它们必须以AM / PM格式显示。
我想要的是我想按ApTime
列对结果进行排序。尝试的是没有给我我想要的答案。
这是我的代码。
SELECT ApId,Name,EmpName,CONVERT(VARCHAR,ApTime,100)AS InTime
FROM AppDetails
ORDER BY EmpName,InTime;
答案 0 :(得分:1)
如果您想按ApTime
排序,为什么要在EmpName
中加入order by
?此外,在指定varchar()
:
SELECT ApId,Name, EmpName, CONVERT(VARCHAR(100), ApTime, 100) AS InTime
FROM AppDetails
ORDER BY InTime;
答案 1 :(得分:0)
如果您希望按InTime
排序结果,请不要按EmpName
排序。此外,如果要按ApTime的时间值排序,只需使用它而不是按一些varchar格式排序,这将按字典顺序排序 :
SELECT ApId, Name, EmpName, CONVERT(VARCHAR,ApTime,100) AS InTime
FROM AppDetails
ORDER BY ApTime;