【发布时间】:2012-05-09 18:29:56
【问题描述】:
我必须比较 2 个单独的列才能得出它们之间的最近日期。我正在使用 DATEDIFF(minute, date1, date2) 来比较它们,但是,在某些记录中,日期为 Null,这会返回 null 结果并弄乱 CASE。
有没有办法解决这个问题,或者有办法预先确定哪个日期为空?
(伪代码)
UPDATE TABLE
SET NAME = p.name,
NEW_DATE = CASE WHEN DATEDIFF(minute,d.date1,d.date2) <= 0 THEN d.date
ELSE d.date2
END
FROM TABLE2 d
INNER JOIN TABLE3 p
ON d.ACCTNUM = p.ACCTNUM
【问题讨论】:
-
为什么使用 datediff 而不是只比较两个日期?这不是需要额外的处理时间吗?
-
由于您是 SO 的新用户,如果您觉得它有用,您应该接受它。因为它给回答者的印象是他们帮助你而不是浪费时间。有时新用户提出问题并离开。