云数据库 GAUSSDB-使用LIKE进行模糊查找时如何忽略大小写?

时间:2024-11-13 14:46:48

使用LIKE进行模糊查找时如何忽略大小写?

答:可以将LIKE改为ILIKE,也可以使用upper或者lower函数。具体示例如下:
--前置操作创建表和插入数据。
gaussdb=# CREATE TABLE tbl_test1(c1 varchar); 
gaussdb=# INSERT INTO tbl_test1 VALUES ('EEE'),('ABC'),('abc'),('aabccd');

--使用like进行模糊查询,结果过滤了所有大写的字符串,不符合预期。
gaussdb=# SELECT * FROM tbl_test1 WHERE c1 LIKE 'ab%';
 c1  
-----
 abc
(1 row)

--使用ILIKE进行模糊查询。
gaussdb=# SELECT * FROM tbl_test1 WHERE c1 ILIKE 'ab%';
 c1  
-----
 ABC
 abc
(2 rows)

--使用upper()函数。
gaussdb=# SELECT * FROM tbl_test1 WHERE upper(c1) LIKE 'AB%';
 c1  
-----
 ABC
 abc
(2 rows)

--删除。
gaussdb=# DROP TABLE tbl_test1;
support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-1811.html