我有一个SQL查询,该查询重新格式化了时间分配列以更好的格式显示。需要将其命名为“ timedisposed”,以便在我们的软件中正确显示。但是,我注意到,按时间分配的顺序不同于更改后的格式的“ AS”时间分配列,而不是原始的。这导致12月的日期显示在1月之前。如何按原始时间安排排序,而不按重新格式化的时间排序?
SELECT top 100 ORDNO,convert(varchar(10),TIMEDISPOSED, 101) + right(convert(varchar(32),TIMEDISPOSED,100),8) as TIMEDISPOSED,ORIGREC
FROM DLOCATION
WHERE DISPOSED = 'Y'
ORDER BY TIMEDISPOSED DESC
答案 0 :(得分:3)
尝试此查询,您可以指定列名,例如adb reverse tcp:8082 tcp:8082
。
DLOCATION.TIMEDISPOSED
答案 1 :(得分:0)
请记住,您必须强制使用特定订单的唯一方法是使用Order By,在这种情况下,您只应在查询中添加ASC,即:
SELECT top 100 ORDNO,convert(varchar(10),TIMEDISPOSED, 101) +
right(convert(varchar(32),TIMEDISPOSED,100),8) as TIMEDISPOSED_Calc,ORIGREC
FROM DLOCATION
WHERE DISPOSED = 'Y'
ORDER BY TIMEDISPOSED ASC
但是,请记住,ORDER运算符是有成本的,因此您始终应该考虑它是否比应用程序内的ORDER(而不是数据库)便宜。