sql - 使用 DATEDIFF() 的计算列

标签 sql sql-server tsql

我有一个显示整个月的表格 - 工单开始日期是这样的 (2015-07-28 06:40:52:337) 工单结束日期是这样的 (2015 -07-29 07:45:52:337).

使用 T-SQL DATEDIFF() 我想找出 DAYS, HOURS, MINUTES 的区别> 和 SECS,并将其放入名为 TimeDiff 的新计算列中。

我怎样才能做到这一点?

最佳答案

使用 DATEDIFF

SELECT  CAST(DATEDIFF(DAY, [Opened Start Date], [Close End Date]) AS VARCHAR(5)) + ' Day(s), ' +
        CAST(DATEDIFF(HOUR, [Opened Start Date], [Close End Date]) AS VARCHAR(5)) + ' Hour(s), ' +
        CAST(DATEDIFF(MINUTE, [Opened Start Date], [Close End Date]) AS VARCHAR(5)) + ' Minute(s), ' +
        CAST(DATEDIFF(SECOND, [Opened Start Date], [Close End Date]) AS VARCHAR(5)) + ' Second(s), ' AS TimeDiff
FROM yourTable

关于sql - 使用 DATEDIFF() 的计算列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31714838/

相关文章:

c# - 包含在创建查询后不起作用

sql - 如何创建数据成为列

SQL - 如果值存在则按列排序,否则按第二列排序

c# - 将 SQL int 转换为 C# 字符串

c# - 阅读器关闭时调用 Read 的尝试无效?

PHP页面中途停止加载,使用ODBC、数据源、MSSQL

sql - 同时使用DISTINCT和TOP

sql - 如何用同一列中的最后一个 NOT NULL 值替换结果集中的 NULL?

sql - Illuminate\Support\Fluent 类的对象无法转换为 int

sql - 创建用于测试的本地 SQL 数据库