我想篩選記錄篩選....SQL查詢 - 如何用null或not null
如果statusid爲null,過濾記錄(其中statusId不爲null)
如果statusid是not null,過濾statusid等於指定的statusid的記錄。
我該怎麼做?
我想篩選記錄篩選....SQL查詢 - 如何用null或not null
如果statusid爲null,過濾記錄(其中statusId不爲null)
如果statusid是not null,過濾statusid等於指定的statusid的記錄。
我該怎麼做?
就像你說的
select * from tbl where statusid is null
或
select * from tbl where statusid is not null
如果您statusid不爲空,那麼它將被選擇就好了,當你有一個實際值,不需要任何「如果「如果這邏輯是什麼,你在想
select * from tbl where statusid = 123 -- the record(s) returned will not have null statusid
,如果你想選擇它爲空或值,嘗試
select * from tbl where statusid = 123 or statusid is null
statusid = statusid怎麼樣?空不等於null。
我覺得這可能是工作:
select * from tbl where statusid = isnull(@statusid,statusid)
WHERE something IS NULL
和
WHERE something IS NOT NULL
SET ANSI_NULLS關閉 去 SELECT * FROM表t 內部O上t.statusid加入otherTable = O .statusid go set ansi_nulls on go
無論你嘗試檢查一個列的NULL值,你應該使用
IS NULL和IS NOT NULL
你不應該使用= NULL或== NULL
實施例(NULL)
select * from user_registration where registered_time IS NULL
將與返回行值是NULL
例(NOT NULL)
select * from user_registration where registered_time IS NOT NULL
將與registered_time
值返回行是NOT NULL
注:關鍵字null
,not null
和is
是not case sensitive
。
但你怎麼做「如果」? – 001 2011-03-28 03:30:50
看到我的最後加入,其中包含「或」 – JeremyWeir 2011-03-28 03:33:58
謝謝,它現在的作品:) – 001 2011-03-28 03:47:39