十年網站開發(fā)經驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網站問題一站解決
LIKE與ILIKE操作符怎么在Postgresql中使用?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

LIKE和ILIKE操作符可以模糊匹配字符串,LIKE是一般用法,ILIKE匹配時則不區(qū)分字符串的大小寫。
它們需要結合通配符使用,下面介紹兩種常用的通配符。
%:百分號用于匹配字符串序列,可匹配任意組合;
_:下劃線用于匹配任何單一字符。
先創(chuàng)建一張數(shù)據表table1,包含兩列:id列和name列,代碼如下:
create table table1(id int, name varchar); insert into table1 values(1,'Huawei Mate RS'), (2,'Huawei P20 Pro'), (3,'IPHONE X'), (4,'iPhone XS'), (5,' iphone XS Max'),(6,'iphone XR'), (7,'VIVO X23'), (8,'VIVO X21')
創(chuàng)造的數(shù)據表顯示如下:

現(xiàn)在想從數(shù)據表table1查詢到所有iphone的型號。需注意部分型號名稱有大寫字母,部分有小寫字母,部分既包含小寫字母又包含大寫字母。
先使用LIKE運算符能找到含有”iphone”小寫字符串的型號,
select * from table1 where name like '%iphone%'

再使用ILIKE運算符能找到所有iphone的型號。
select * from table1 where name ilike '%iphone%'

拓展:
LIKE運算符的其他用法:復制一張已有表的表結構(不包含數(shù)據),當表的字段名和屬性過多過長時,可以減少工作量。
代碼如下:
create table table2(like table1)
補充:postgresql 數(shù)據庫中 like 、ilike、~~、~~*、~、~*的含義
| like | 匹配 |
| ilike | 不區(qū)分大小寫匹配 |
| ~~ | 等價于 like |
| ~~* | 等價于 ilike |
| ~ | 匹配正則表達式,大小寫相關 |
| ~* | 匹配正則表達式,大小寫無關 |
| not like | 不匹配 |
| not ilike | 不區(qū)分大小不匹配 |
| !~~ | 等價于 not like |
| !~~* | 等價于 not ilike |
| !~ | 不匹配正則表達式,大小寫相關 |
| !~* | 不匹配正則表達式,大小寫無關 |
| % | 百分號用于匹配字符串序列,可匹配任意組合 |
| _ | 下劃線用于匹配任何單一字符 |
如果想要做前綴匹配或后綴匹配,可以用下面的方法
1、前綴模糊查詢。
select * from table where like 'ab%'; select * from table where ~~ 'ab%'; select * from table where ~ '^ab';
2、后綴模糊查詢。
select * from table where like '%ab'; select * from table where ~~ '%ab'; select * from table where ~ 'ab$';
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)網站建設公司,的支持。