我正在尝试计算行的两个日期之间的天数,而不是仅在两个日期内计算。
基本上,如果记录在2012-11-01 00:00'和'2013-10-31 23:59'的财政年度中,我想知道B.Depart和结束之间有多少个夜晚。那一年,即'2013-10-31 23:59'。
我得到的错误是:
将varchar值'NULL'转换为数据时转换失败 输入int。
这就是我所要做的:
CASE
WHEN B.Depart BETWEEN '2012-11-01 00:00' AND '2013-10-31 23:59' THEN datediff (minute, B.Depart, '2013-10-31 23:59')
ELSE 'NULL'
END AS '2012/13 nights'
非常感谢!
答案 0 :(得分:0)
CASE
WHEN B.Depart BETWEEN '2012-11-01 00:00' AND '2013-10-31 23:59' THEN datediff (minute, B.Depart, '2013-10-31 23:59')
ELSE NULL
END AS '2012/13 nights'
而不是' NULL'将被视为varchar,转为NULL。
答案 1 :(得分:0)
所以你的查询是:
CASE
WHEN B.Depart BETWEEN '2012-11-01 00:00' AND '2013-10-31 23:59' THEN datediff (day, B.Depart, '2013-10-31 23:59')
ELSE NULL
END AS '2012/13 nights'