首頁 >後端開發 >php教程 >為什麼我的 Postgresql 查詢返回'列 'Smith' 不存在”,即使該列存在?

為什麼我的 Postgresql 查詢返回'列 'Smith' 不存在”,即使該列存在?

DDD
DDD原創
2024-12-02 06:08:10827瀏覽

Why Does My Postgresql Query Return

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn