如何关闭 postgresql 区分大小写的搜索?

How to turn off postgresql case sensitive search?

我有很多使用 "WHERE" 子句的 sql 查询命令,我只是想知道我的 postgresql 搜索是否区分大小写。

例如:

 Select * From myarea Where area_name = 'Jawa Barat1' --> not found
 Select * from myarea Where area_name = 'jawa barat1' --> found

如何在 postgresql 中关闭区分大小写的搜索?

请不要建议我将 sql 命令更改为两边都设置为小写。

期望 postgresql 进行区分大小写的搜索(Mother = mother)

demo:db<>fiddle

使用 ILIKE 比较器,它(作为 LIKE 比较器)也适用于通配符(参见 fiddle)

Select * From myarea Where area_name ILIKE 'Jawa Barat1'

或使用 lower() 规范化字符串,将所有字母转换为 non-capitals。你必须使用它来比较文字:

Select * From myarea Where lower(area_name) = lower('Jawa Barat1')