您好,登錄后才能下訂單哦!
LIKE與ILIKE操作符怎么在Postgresql中使用?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
LIKE和ILIKE操作符可以模糊匹配字符串,LIKE是一般用法,ILIKE匹配時則不區分字符串的大小寫。
它們需要結合通配符使用,下面介紹兩種常用的通配符。
%:百分號用于匹配字符串序列,可匹配任意組合;
_:下劃線用于匹配任何單一字符。
先創建一張數據表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')
創造的數據表顯示如下:
現在想從數據表table1查詢到所有iphone的型號。需注意部分型號名稱有大寫字母,部分有小寫字母,部分既包含小寫字母又包含大寫字母。
先使用LIKE運算符能找到含有”iphone”小寫字符串的型號,
select * from table1 where name like '%iphone%'
再使用ILIKE運算符能找到所有iphone的型號。
select * from table1 where name ilike '%iphone%'
拓展:
LIKE運算符的其他用法:復制一張已有表的表結構(不包含數據),當表的字段名和屬性過多過長時,可以減少工作量。
代碼如下:
create table table2(like table1)
補充:postgresql 數據庫中 like 、ilike、~~、~~*、~、~*的含義
like | 匹配 |
ilike | 不區分大小寫匹配 |
~~ | 等價于 like |
~~* | 等價于 ilike |
~ | 匹配正則表達式,大小寫相關 |
~* | 匹配正則表達式,大小寫無關 |
not like | 不匹配 |
not ilike | 不區分大小不匹配 |
!~~ | 等價于 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$';
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。