SQL中时间列之间的差异

SQL中时间列之间的差异,sql,db2,sas,rdbms,Sql,Db2,Sas,Rdbms,我试图计算SAS中两个时间列之间的差异,例如,我正在编写一个SQL查询来实现这一点。但是我得到了错误的答案。我的问题是: 这就是我得到的 Time_DP Time_AR timediff 23:00:00 20:31:00 22900 00:53:00 23:59:00 -230600 这些只是我得到的两行的例子。我猜he timdiff值以秒为单位。如果是,则第一行的时间应为149*60秒,即8940 我还需要hh:mm格式的这个列,即02:29 我尝试过使用

我试图计算SAS中两个时间列之间的差异,例如,我正在编写一个SQL查询来实现这一点。但是我得到了错误的答案。我的问题是:


这就是我得到的

Time_DP    Time_AR    timediff
23:00:00   20:31:00    22900
00:53:00   23:59:00   -230600
这些只是我得到的两行的例子。我猜he timdiff值以秒为单位。如果是,则第一行的时间应为
149*60
秒,即
8940

我还需要
hh:mm格式的这个列,即
02:29

我尝试过使用以下提到的功能,但没有一个有效:

--DATEDIFF(hour, Time_DP,time_AR ) AS timediff
(Error: Hour is not a column of an inserted table. SQL code = -206, SQL state=42703)

--TIMEDIFF(CAST( AS TIME), CAST(time_AR AS TIME)) AS TIMIFF
(Error: No function by the name timediff having compatible arguments was found in the current path. sql code=-440, sql state=42284)

--DATEADD(SECOND, - DATEDIFF(SECOND, time_AR, Time_DP),) as timediff,
(ERROR: Second is not a column of an inserted table, updated table or any table identified in a from clause.SQL code = -206, SQL state=42703)

--Convert(time(0),(Convert(datetime,Time_DP) - Convert(datetime,Time_AR)),8) as timediff
( ERROR: Datetime is not a column of an inserted table, updated table or any table identified in a from clause.SQL code = -206, SQL state=42703)

--DATEDIFF(HOUR,Time_AR,Time_DP) AS timediff
(ERROR: Hour is not a column of an inserted table, updated table or any table identified in a from clause.SQL code = -206, SQL state=42703)

感谢

在DB2中,两个
时间
值相减的结果是一个持续时间,一个
十进制
,形式为
HHMMSS
。所以,从23:00:00中减去20:31:00得到22900,也就是2小时29分00秒。从较早的时间“00:53:00”减去较晚的时间“23:59:00”,显然会得到负值-230600

在DB2中,两个
TIME
值相减的结果是一个持续时间,一个
DECIMAL
,形式为
HHMMSS
。所以,从23:00:00中减去20:31:00得到22900,也就是2小时29分00秒。从较早的时间“00:53:00”减去较晚的时间“23:59:00”,显然会得到负值-230600

在DB2中,两个
TIME
值相减的结果是一个持续时间,一个
DECIMAL
,形式为
HHMMSS
。所以,从23:00:00中减去20:31:00得到22900,也就是2小时29分00秒。从较早的时间“00:53:00”减去较晚的时间“23:59:00”,显然会得到负值-230600

在DB2中,两个
TIME
值相减的结果是一个持续时间,一个
DECIMAL
,形式为
HHMMSS
。所以,从23:00:00中减去20:31:00得到22900,也就是2小时29分00秒。从较早的时间“00:53:00”减去较晚的时间“23:59:00”,显然会得到负值-230600

应该从此问题中删除错误的mysql标记。它应该替换为一个标记,该标记引用正在使用的实际RDBMS(Oracle、Postgres、SQL Server等)。是的@spencer7593是正确的,它不是mysql,错误消息不是mysql错误消息。应该从这个问题中删除错误的mysql标记。它应该替换为一个标记,该标记引用正在使用的实际RDBMS(Oracle、Postgres、SQL Server等)。是的@spencer7593是正确的,它不是mysql,错误消息不是mysql错误消息。应该从这个问题中删除错误的mysql标记。它应该替换为一个标记,该标记引用正在使用的实际RDBMS(Oracle、Postgres、SQL Server等)。是的@spencer7593是正确的,它不是mysql,错误消息不是mysql错误消息。应该从这个问题中删除错误的mysql标记。它应该替换为一个标记,该标记引用正在使用的实际RDBMS(Oracle、Postgres、SQL Server等)。是的@spencer7593是正确的,它不是mysql,错误消息不是mysql错误消息。
--DATEDIFF(hour, Time_DP,time_AR ) AS timediff
(Error: Hour is not a column of an inserted table. SQL code = -206, SQL state=42703)

--TIMEDIFF(CAST( AS TIME), CAST(time_AR AS TIME)) AS TIMIFF
(Error: No function by the name timediff having compatible arguments was found in the current path. sql code=-440, sql state=42284)

--DATEADD(SECOND, - DATEDIFF(SECOND, time_AR, Time_DP),) as timediff,
(ERROR: Second is not a column of an inserted table, updated table or any table identified in a from clause.SQL code = -206, SQL state=42703)

--Convert(time(0),(Convert(datetime,Time_DP) - Convert(datetime,Time_AR)),8) as timediff
( ERROR: Datetime is not a column of an inserted table, updated table or any table identified in a from clause.SQL code = -206, SQL state=42703)

--DATEDIFF(HOUR,Time_AR,Time_DP) AS timediff
(ERROR: Hour is not a column of an inserted table, updated table or any table identified in a from clause.SQL code = -206, SQL state=42703)