创建减去两个日期列的SQL列

时间:2019-02-11 22:57:04

标签: sql

这是我的专栏的样子。

我想创建一个包含开始时间和结束时间列之间差异的列。

Start_Time 
2019-02-01 22:38:54.0000000
2019-02-01 22:39:18.0000000
2019-02-01 22:44:43.0000000
2019-02-04 22:17:41.0000000
2019-02-04 22:18:09.0000000
End_Time
2019-02-01 22:38:57.0000000
2019-02-01 22:39:28.0000000
2019-02-01 22:44:44.0000000
2019-02-04 22:17:48.0000000
2019-02-04 22:18:21.0000000

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

基本思想是在表上添加计算/生成的列

CREATE TABLE TBL
( 
    ...
    StartTime datetime,
    EndTime datetime,
    computedColName as DATEDIFF(Endtime,StartTime)
)

表格更改

ALTER TABLE TBL
  ADD COLUMN computedColName as DATEDIFF(Endtime, StartTime)

答案 1 :(得分:0)

语法:

  

DATEDIFF(expr1,expr2)

     

TIMEDIFF(expr1,expr2)

说明:

DATEDIFF()返回(expr1 – expr2),表示为从一个日期到另一个日期的天数。 expr1和expr2是日期或日期和时间表达式。计算中仅使用值的日期部分。

TIMEDIFF()返回表示为时间值的(expr1-expr2)。 expr1和expr2是时间或日期时间表达式,但是两者必须是同一类型。

  从表名称中

SELECT DATEDIFF(Start_Time,End_Time)AS DateDiff

来源:MariaDB DATEDIFF仅接受两个参数。它根据MySQL实现而变化。