【问题标题】:Subtract datetime from two columns and put result as integer in third从两列中减去日期时间并将结果作为整数放在第三列
【发布时间】:2016-08-21 18:11:16
【问题描述】:

我在一个表中有 2 个日期时间列,我想将每一行从另一行中减去,并以某种方式将结果作为 int 放入新的第 3 列行中。

我知道我必须以某种方式使用DATEFIFF,但更让我困惑的是如何解析表格的每一行(也许是while循环)?

谢谢!

【问题讨论】:

  • 您不会像 SQL 那样思考,它使用基于集合的方法,而不是基于游标的方法。您只需在 select 语句中添加 DATEDIFF 函数,它将应用于表中的每一行。
  • 标记使用的 dbms! (datediff 是产品特定的功能。)

标签: sql sql-server-2008 datetime


【解决方案1】:

假设 Date1Column 和 Date2Column 是日期时间字段的 SQL 2008 示例。我举了几个例子,以分钟、天、月为单位显示日期之间的差异。

Select

    ,CAST(DATEDIFF(mi, Date1Column, Date2Column) as int) as 'DeltaMinutes'
    ,CAST(DATEDIFF(day, Date1Column, Date2Column) as int) as 'DeltaDays'
    ,ISNULL(DATEDIFF(MONTH, Date1Column, Date2Column), -9999) as 'LastSWAge'

From Table

【讨论】:

  • 谢谢它有帮助。
猜你喜欢
  • 2021-05-25
  • 1970-01-01
  • 1970-01-01
  • 2016-10-16
  • 2021-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多