Postgresql 查詢中無法辨識列名
嘗試在Postgresql 中執行簡單的SELECT 語句時,可能會遇到錯誤「column '史密斯並不存在。
根本原因:
問題源自於以下方式Postgresql 處理帶引號和不帶引號的列名。在本例中,您在列名「lName」兩邊放置了雙引號,以表示它是完全匹配的。但是,您將其與“Smith”進行比較的值並未用引號引起來。
解決方案:
要解決此問題,請確保列名和比較值括在相同類型的引號中。在 Postgresql 中,通常建議對字串文字使用單引號:
SELECT * FROM employee WHERE "lName" LIKE 'Smith'
此外,您可能需要考慮在 LIKE 表達式中包含通配符。如果沒有通配符,LIKE 比較相當於相等檢查。如果您打算執行部分匹配,請包含通配符,例如“%”:
SELECT * FROM employee WHERE "lName" LIKE '%Smith%'
以上是為什麼我的 Postgresql 查詢返回'列 'Smith' 不存在”,即使該列存在?的詳細內容。更多資訊請關注PHP中文網其他相關文章!