萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

SQL 查詢中 Boolean 字段的正確寫法:Access 避坑指南

寫 SQL 時常踩的坑:SELECT * FROM table WHERE sex='true' 報「標準數據類型不匹配」。原來 Access 中 Yes/No (Boolean) 類型字段,SQL 裡**不能加引號**,直接寫 WHERE sex = True 或 WHERE sex = -1(True 在 Access 內部為 -1)。

各資料庫 Boolean 寫法對照

資料庫True 值False 值備註
AccessTrue / -1False / 0不加引號
SQL Server10bit 類型
MySQLTRUE / 1FALSE / 0BOOL = TINYINT(1)
PostgreSQLTRUEFALSE標準 boolean
Oracle10用 NUMBER(1) 模擬

最佳實踐

  • **統一不加引號**:WHERE is_active = 1 跨庫兼容性最好
  • 避免 'true'、'false' 字串比較,導致隱式轉換錯誤
  • Access 連結表指向 SQL Server 時,仍按目標庫規則寫法

記住:**Boolean 字段在 SQL 中是數值/關鍵字,不是字串**。這一點在動態拼接 SQL 時尤為重要,參數化查詢可自動處理類型轉換,建議優先使用參數化。

copyright © 萬盛學電腦網 all rights reserved