我知道这应该是一个非常简单的问题,但是当我阅读其他人的问题并查看答案时,我很难理解它是如何与我现有的查询联系起来的。我认为这只是一个心理障碍。
无论如何,在SQL Server 2008中,除了已经列出的内容之外,我还希望显示一个新列。所有数据都来自一个表。我目前的Start_time& End_time显示在(yyyy-MM-dd hh:mm:ss)。我只想在End_time之后创建一个名为 Time_To_Complete 的新列,显示这两个日期/时间列之间的差异,仅以分钟为单位。
这是我的基本查询
SELECT Index_ID
,Start_time
,End_time
FROM table_name WITH (NOLOCK)
ORDER BY Start_time DESC
答案 0 :(得分:1)
使用DATEDIFF:
SELECT Index_ID ,
Start_time ,
End_time,
Time_To_Complete = DATEDIFF(MINUTE, Start_Time, End_Time)
FROM table_name WITH (NOLOCK)
ORDER BY Start_time DESC
或者,如果您希望将其作为表格中的列,请添加computed column:
ALTER TABLE table_name
ADD Time_To_Complete AS DATEDIFF(MINUTE, Start_Time, End_Time)
答案 1 :(得分:1)
SELECT Index_ID
,Start_time
,End_time
,DATEDIFF(MINUTE, Start_time,End_time) AS Time_To_Complete
FROM table_name WITH (NOLOCK)
ORDER BY Start_time DESC