首頁 >資料庫 >mysql教程 >如何在 PostgreSQL 中執行不區分大小寫的字串比較?

如何在 PostgreSQL 中執行不區分大小寫的字串比較?

Linda Hamilton
Linda Hamilton原創
2024-12-28 08:35:14488瀏覽

How Can I Perform Case-Insensitive String Comparisons in PostgreSQL?

PostgreSQL 中不區分大小寫的字串比較

在PostgreSQL 中,有時可能需要執行不區分大小寫的字串比較,以實現更靈活的數據匹配。

實現此目的的一種方法是使用 ilike 運算符,它與 like 類似,但忽略大小寫差異。例如:

SELECT * 
WHERE email ilike '[email protected]'

請注意,ilike 使用反斜線字元來轉義特殊字元。要使用 [ 或 ] 等其他字符,您可以使用 Replace() 函數對其進行轉義。

例如:

WHERE email ilike replace(replace(replace(, '~', '~~'), '%', '~%'), '_', '~_') escape '~'

或者,您可以在先前建立一個用於轉義文字的函數執行相似比較。

要與不區分大小寫的值數組進行比較,您可以使用any():

WHERE email ilike any(array['[email protected]', '[email protected]'])

使用這些方法,您可以在PostgreSQL 中執行不區分大小寫的字符串比較,從而為查詢提供更大的彈性。

以上是如何在 PostgreSQL 中執行不區分大小寫的字串比較?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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