這是一個典型的一個問題問我的老闆..在「喜歡」運營商需要選擇「NULL」(DB)值
問:如何選擇其使用的是像運營商在數據庫空值..
我試圖象下面這樣:
select c.ClaimID from claim c
where c.InjuredPartyFirstName like (''+coalesce(c.InjuredPartyFirstName,'')+'')
但是,這也不能正常工作........
請幫有人
在此先感謝... 維奈ķ
這是一個典型的一個問題問我的老闆..在「喜歡」運營商需要選擇「NULL」(DB)值
問:如何選擇其使用的是像運營商在數據庫空值..
我試圖象下面這樣:
select c.ClaimID from claim c
where c.InjuredPartyFirstName like (''+coalesce(c.InjuredPartyFirstName,'')+'')
但是,這也不能正常工作........
請幫有人
在此先感謝... 維奈ķ
爲什麼不使用
select c.ClaimID from claim c where c.InjuredPartyFirstName IS NULL
如果這是某種奇怪的考驗,嘗試
select c.ClaimID from claim c
where ISNULL(c.InjuredPartyFirstName, '') like ''
過濾通過NULL值的,像這樣進行:
select c.ClaimID
from claim c
where c.InjuredPartyFirstName IS NULL
因此,正確的答案,這個技巧的問題是你不能直接用LIKE來完成,除非你想通過先合併空值來減慢查詢速度。然後向他/她解釋爲什麼 NULL是NULL並且不應該能夠直接應用LIKE。
編輯:也許這只是你的老闆測試過濾絕地出來的僞裝者?
對LIKE和NULL使用兩個選擇的聯合可能會改善查詢,而不是使用「ISNULL」 - 從claim中選擇claimID,其中InjuiredPartyFirstName像'...'union從Claim中選擇claimID,其中InjuiredPartyFirstName爲空' – Sung 2010-02-24 16:34:25
謝謝爲迴應....而這個答案我給了,但與COALESCE,而不是ISNULL,他滿意一半.... 謝謝 vinay – VInayK 2010-02-25 06:15:14