我有一张表clientInfo
,我需要根据基于4个不同字段的计算值进行排序。
每行都有字段Datestart
,TimeStart
,DateEnd
和TimeEnd
。
我需要按照日期/时间开始和日期/时间结束之间的差异对结果集进行排序,以便2之间的最长持续时间位于顶部,最短的持续时间位于底部。
这种复杂的计算排序可以在SQL中完成吗?
基本上我需要
Select *
From [ClientInfo]
Order By <duration> DESC
答案 0 :(得分:2)
根据你的评论,我认为这应该可以解决问题:
SELECT *
FROM [ClientInfo]
ORDER BY (CAST([DateEnd] AS DATETIME) + [TimeEnd]) - (CAST([DateStart] AS DATETIME) + [TimeStart]) DESC