mat*_*uma 5 sql t-sql sql-server
我的数据库中有一个表,用于记录特定任务的开始和停止时间.以下是数据示例:
Start Stop
9/15/2008 5:59:46 PM 9/15/2008 6:26:28 PM
9/15/2008 6:30:45 PM 9/15/2008 6:40:49 PM
9/16/2008 8:30:45 PM 9/15/2008 9:20:29 PM
9/16/2008 12:30:45 PM 12/31/9999 12:00:00 AM
Run Code Online (Sandbox Code Playgroud)
我想编写一个脚本,总计这些时间框架的经过时间,并且只要有12/31/9999日期,我希望它使用当前日期和时间,因为这仍在进行中.
我如何使用Transact-SQL执行此操作?
AJ.*_*AJ. 11
SELECT SUM( CASE WHEN Stop = '31 dec 9999'
THEN DateDiff(mi, Start, Stop)
ELSE DateDiff(mi, Start, GetDate())
END ) AS TotalMinutes
FROM task
Run Code Online (Sandbox Code Playgroud)
但是,更好的解决方案是制作 __CODE__
__CODE__
SELECT SUM( DateDiff( mi, Start, IsNull(Stop, GetDate() ) ) AS TotalMinutes FROM taskRun Code Online (Sandbox Code Playgroud)