我試圖使用下面的陳述句來檢查記錄的給定欄位名中存在的值是否存在NULL,如果它被NULL放置,則0回傳欄位名中存在的值。它顯示語法錯誤。
SELECT [structname.fieldname], isnull([structname.fieldname],0) FROM tablename WHERE condition;
你能告訴我我哪里出錯了嗎?
我也試過下面的陳述句
SELECT [structname.fieldname], CASE WHEN [structname.fieldname] IS NULL THEN 0 ELSE [structname.fieldname] END FROM tablename WHERE condition;
對于上面的陳述句,程式遇到一個NULL值就會崩潰。你能告訴我我還能如何檢查特定記錄NULL的值是否存在,然后讀取該值如果不是,NULL否則將其讀取為0
uj5u.com熱心網友回復:
您沒有正確使用方括號。
列名應該寫成:
[structname].[fieldname]
假設這[structname]是fieldname來自表的名稱或別名,而不是:
[structname.fieldname]
只有當列的名稱實際上是structname.fieldname.
您可以使用該功能完成您需要的功能COALESCE():
SELECT COALESCE([fieldname], 0) FROM tablename
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/375468.html
