-2
我有一個查詢工作在MSSQL是這樣的:使用ISNULL功能是不會放棄應有的價值
select company_id,isshowable from company where company_id in (1,2);
它會給結果一樣:
company_id | isshowable
1 | NULL
2 | true
這裏,COMPANY_ID 1具有isshowable = NULL值。當我申請了isnull
功能與此查詢:
select isshowable, company_id
from company
where company_id in (1,2)
and (isshowable='true' OR isshowable = ISNULL(isshowable,'true'));
它給唯一一個已COMPANY_ID = 2.爲什麼ISNULL函數而不是取代與「真」 NULL值的記錄?
我的要求是兩個記錄都應該從數據庫中提取,而NULL值應該用'true'代替。
什麼應該是實現這一目標的正確方法?
'UNKNOWN',不' FALSE'。用'NOT()'包裝這些表達式並且觀察它們不變成'TRUE'很容易證明。 SQL使用三值邏輯。 –
哎呀,我的壞。我爲什麼想念那個?謝謝 –
謝謝felix與help.it是我的錯誤理解。謝謝 –