gpt4 book ai didi

sql - Transact-SQL 总结耗时

转载 作者:行者123 更新时间:2023-12-02 21:43:15 24 4
gpt4 key购买 nike

我的数据库中有一个表,记录特定任务的开始和停止时间。以下是数据示例:

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

我想编写一个脚本来汇总这些时间范围内经过的分钟数,并且只要有 12/31/9999 日期,我希望它使用当前日期和时间,因为这仍在进行中.

如何使用 Transact-SQL 执行此操作?

最佳答案

SELECT  SUM( CASE  WHEN Stop = '31 dec 9999' 
THEN DateDiff(mi, Start, Stop)
ELSE DateDiff(mi, Start, GetDate())
END ) AS TotalMinutes
FROM task

但是,更好的解决方案是使 Stop 字段可为空,并在任务仍在运行时将其设置为空。这样,你就可以这样做:



SELECT  SUM( DateDiff( mi, Start, IsNull(Stop, GetDate() ) ) AS TotalMinutes 
FROM task

关于sql - Transact-SQL 总结耗时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/81905/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com