首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

Access 資料庫刪除空值/零長度字串記錄的正確方法

     編輯:關於SqlServer

問題背景

抓取網路資料入庫時,部分欄位為空值或零長度字串(""),導致後續處理異常,需清理。

Access 中 Null 與零長度字串 (ZLS) 差異

  • Null:缺失/未知,未輸入任何值。
  • ZLS:使用者輸入兩個雙引號 "",明確表示「知道沒有值」。
  • 外觀皆為空白,需用運算式區分:
    =IIf(IsNull([Field]), "Unknown", Format([Field], "@;ZLS"))
    回傳 Unknown 表 Null,ZLS 表零長度字串。

刪除空值記錄的正確 SQL

DELETE FROM news
WHERE IIf(IsNull([City]), 'Unknown', Format([City], '@;ZLS')) = 'Unknown';

或分開處理:

-- 刪除 Null
DELETE FROM news WHERE City IS NULL;

-- 刪除零長度字串
DELETE FROM news WHERE City = '';

注意事項

  • Access 中 "" 為零長度字串,非 Null,WHERE City = '' 才能比中。
  • SQL Server 中 '' 即為空字串,IS NULL 判斷 Null,兩者互斥。
  • 建議表設計階段設定 NOT NULL + DEFAULT '' 或 CHECK (LEN(TRIM(col)) > 0) 防止髒資料寫入。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved