【问题标题】:Is there a way I can subtract two columns?有没有办法可以减去两列?
【发布时间】:2021-06-27 13:04:33
【问题描述】:

我有一个包含日期列的查询(例如:2020-03-31 00:00:00:000)、Time_in (9:38)、Time_out (11:38)。

select *,date_time_in - date_time_out from 
(select Date,Time_in,Time_out , 
convert(varchar,date,111) + ' ' + time_in as date_time_in ,
convert(varchar,date,111) + ' ' + time_out as date_time_out 
from abc) X

我可以做一个减法运算符来获取我创建的两个新别名列之间的差异,例如 9:38 - 11:38 吗?

【问题讨论】:

  • 你看过 DATEDIFF-function 吗?
  • 我做了,但我发现使用这个查询很混乱。
  • 很高兴看到示例数据和所需结果
  • convert(varchar,date,111) + ' ' + time_in 也不起作用。您将收到一条错误消息,告诉您 varchartime 与 add 运算符不兼容。
  • “我做了,但我发现使用这个查询很混乱。” documentation 的哪一部分让您感到困惑?它包括很多关于如何使用它的examples;那些例子你不明白怎么办?

标签: sql sql-server sql-server-2008


【解决方案1】:

假设 Time_InTime_Out 是表 abc 中的列,以下代码将为您提供两个值之间的秒差。

select *, DATEDIFF(second, Time_In, Time_Out) AS DateDiff from abc

【讨论】:

    猜你喜欢
    • 2020-07-21
    • 1970-01-01
    • 2012-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-15
    • 1970-01-01
    相关资源
    最近更新 更多