假設我有兩個可能爲NULL的變量,我想檢查它們是否不同。在T-SQL中比較兩個可用NULL的變量
但,我想:
- 處理兩個空值作爲平等的(而不是NULL)。
- 將NULL和非NULL視爲不相等(不爲NULL)。
我知道我可以只寫:
DECLARE @v1 int = ...;
DECLARE @v2 int = ...;
IF (
(@v1 IS NULL AND @v2 IS NOT NULL)
OR (@v1 IS NOT NULL AND @v2 IS NULL)
OR @v1 <> @v2
)
PRINT 'Different!';
但有一個更優雅的方式?
可以簡化這個條件否定它:'NOT(@ V1 IS NULL和@ V2爲空或@ V1 = V2 @) –
@MarkShevchenko認爲這NULL和0是相等的。 –
嗯,愛這種棘手的問題! –