我有两个变量“ triage_date_time”和“ checkin_date_time”。两者的格式都例如为2018-12-31 14:13:00。在一个单元格中同时显示年月日和时分秒。
我想创建一个变量,该变量计算从签入到分类的时间。
我尝试使用以下代码:
SELECT DISTINCT datediff(minute, 'triage_date_time', 'checkin_date_time') as
checkin_to_triage
但是,运行此代码时,出现以下错误...“从字符串转换日期和/或时间时转换失败”。
关于如何编写代码以计算这两个变量的微小差异的任何建议。
谢谢!
答案 0 :(得分:4)
一个问题显然是单引号。假设您正在使用SQL Server,则变量以@
开头。所以:
select datediff(minute, @triage_date_time, @checkin_date_time) as checkin_to_triage
如果您很困惑并且真的是要在表格中查看列,那么:
select datediff(minute, triage_date_time, checkin_date_time) as checkin_to_triage
from t;
答案 1 :(得分:2)
可能是您的字段是CHARACTER数据类型吗? 将您的字符转换为日期时间
SELECT DISTINCT datediff(minute, CAST(triage_date_time AS datetime), CAST(checkin_date_time AS datetime)) as checkin_to_triage
答案 2 :(得分:1)
尝试使用此查询
DECLARE @triage_date_time DATETIME = '20181231 14:13:00'
DECLARE @checkin_date_time DATETIME = '20181231 16:13:00'
SELECT DATEDIFF (MINUTE, @triage_date_time, @checkin_date_time) AS 'checkin_to_triage'
输出:
120