我有这个代码,我想了解为什么它打印'相等'比较时,空日期与非空日期。如果我想做一个更新而发生这种情况,我该怎么办?
Declare @OldDate date Declare @NewDate date = '05/02/1960' if(@OldDate <> @NewDate) Print 'Different' else Print 'Equal'
你好,埃利奥·费尔南德斯
wmomyfyw1#
几乎可以和 NULL 退货 NULL . 在大多数情况下, NULL 被视为假的。因此,你得到不平等。您没有指定数据库。标准支架 NULL -安全比较:
NULL
@oldDate is distinct from @newDate
并不是所有的数据库都支持这种语法,所以您需要更加明确;
@oldDate <> @newDate or @oldDate is null and @newDate is not null or @oldDate is not null and @newDate is null
1条答案
按热度按时间wmomyfyw1#
几乎可以和
NULL
退货NULL
. 在大多数情况下,NULL
被视为假的。因此,你得到不平等。您没有指定数据库。标准支架
NULL
-安全比较:并不是所有的数据库都支持这种语法,所以您需要更加明确;