我知道NULL
在SQL是一個未知的值,因此NULL
不等於NULL
,因爲兩者都是未知的,但我期待在這裏的第二IF
返回not eq
,而是返回eq
。爲什麼?我錯過了什麼?他們爲什麼要評估呢?SQL NULL等於不等於NULL
declare @i int = null
declare @i2 int = null
if @i = @i2 select 'eq' else select 'not eq'
if @i <> @i2 select 'not eq' else select 'eq'
您使用的是哪個數據庫? SQL Server? – GurV
從來沒有測試過這一點,但嘗試'!='而不是'<>'。 – toonice
@GurV MsSQL 2016,儘管我不確定這是否重要。 – curious