Db2

DB2 中不區分大小寫的 LIKE

  • February 13, 2020

有沒有辦法LIKE在 DB2 中以不區分大小寫的方式對 varchar 列執行操作,而不更改底層列定義?

或者有沒有這樣的解決方法SELECT * FROM mytable WHERE mycolumn LIKE '%string%' OR mycolumn LIKE '%STRING%'

不可以。假設 Db2 for LUW,您可以選擇不區分大小寫的整理表,但只能在數據庫創建時選擇。

您必須標準化案例以進行比較,具有明顯的性能影響:

SELECT * FROM mytable WHERE LCASE(mycolumn) LIKE '%string%'

嘗試

SELECT * FROM mytable WHERE REGEXP_LIKE(mycolumn,'string',1,'i')

如果您的 Db2 版本支持正則表達式函式 https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.5.0/com.ibm.db2.luw.sql.ref.doc/doc/r0061494.html 和如果您轉義字元串中的任何正則表達式元字元

引用自:https://dba.stackexchange.com/questions/259425