共計 1833 個字符,預計需要花費 5 分鐘才能閱讀完成。
行業資訊
數據庫
關系型數據庫
PostgreSQL 中的 Putting multiple LIKE patterns into an array 特性是什么
本篇內容主要講解“PostgreSQL 中的 Putting multiple LIKE patterns into an array 特性是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“PostgreSQL 中的 Putting multiple LIKE patterns into an array 特性是什么”吧!
LIKE 用于模糊查詢,如 select
from tablename where column like‘%value%’;如需要多個模糊匹配則需要使用多個 like 子句,如 select from tablename where column like‘%value1%’or column like‘%value2%’ or column like‘%value3%’或者 select * from tablename where column like‘%value1%’and column like‘%value2%’ and column like‘%value3%’。PG 提供了 ANY/ALL 結合 ARRAY 來簡化 SQL:
select
from tablename where column like‘%value1%’or column like‘%value2%’ or column like‘%value3%’
–
select from tablename where column like ANY(ARRAY[‘%value1%’,’%value2%’,’%value3%’])
select
from tablename where column like‘%value1%’and column like‘%value2%’ and column like‘%value3%’
–
select from tablename where column like ALL(ARRAY[‘%value1%’,’%value2%’,’%value3%’])
測試腳本
[local]:5432 pg12@testdb=# create table t_like (id int,c1 varchar(20));
CREATE TABLE
Time: 160.410 ms
[local]:5432 pg12@testdb=#
[local]:5432 pg12@testdb=# insert into t_like(id,c1) values(1, asdfafetestsdfasdf
INSERT 0 1
Time: 14.815 ms
[local]:5432 pg12@testdb=# insert into t_like(id,c1) values(2, asdfafe 測試 sdfasdf
INSERT 0 1
Time: 1.423 ms
[local]:5432 pg12@testdb=# insert into t_like(id,c1) values(3, astestfe 測試 sdfasdf
INSERT 0 1
Time: 1.486 ms
[local]:5432 pg12@testdb=# select * from t_like where c1 like ANY(ARRAY[ %test% , % 測試 %
id | c1
----+---------------------
1 | asdfafetestsdfasdf
2 | asdfafe 測試 sdfasdf
3 | astestfe 測試 sdfasdf
(3 rows)
Time: 48.319 ms
[local]:5432 pg12@testdb=# select * from t_like where c1 like ALL(ARRAY[ %test% , % 測試 %
id | c1
----+---------------------
3 | astestfe 測試 sdfasdf
(1 row)
Time: 2.463 ms
[local]:5432 pg12@testdb=#
到此,相信大家對“PostgreSQL 中的 Putting multiple LIKE patterns into an array 特性是什么”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!