PostgreSQL中的Putting multiple LIKE patterns into an array特性是什么
本篇内容主要讲解“PostgreSQL中的Putting multiple LIKE patterns into an array特性是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“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]:5432pg12@testdb=#createtablet_like(idint,c1varchar(20));CREATETABLETime:160.410ms[local]:5432pg12@testdb=#[local]:5432pg12@testdb=#insertintot_like(id,c1)values(1,'asdfafetestsdfasdf');INSERT01Time:14.815ms[local]:5432pg12@testdb=#insertintot_like(id,c1)values(2,'asdfafe测试sdfasdf');INSERT01Time:1.423ms[local]:5432pg12@testdb=#insertintot_like(id,c1)values(3,'astestfe测试sdfasdf');INSERT01Time:1.486ms[local]:5432pg12@testdb=#select*fromt_likewherec1likeANY(ARRAY['%test%','%测试%']);id|c1----+---------------------1|asdfafetestsdfasdf2|asdfafe测试sdfasdf3|astestfe测试sdfasdf(3rows)Time:48.319ms[local]:5432pg12@testdb=#select*fromt_likewherec1likeALL(ARRAY['%test%','%测试%']);id|c1----+---------------------3|astestfe测试sdfasdf(1row)Time:2.463ms[local]:5432pg12@testdb=#
到此,相信大家对“PostgreSQL中的Putting multiple LIKE patterns into an array特性是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。