postgresql中的@> 是什么运算符?

一笑奈何 提交于 2021-01-21 13:55:58

如果在一个数组列中想查询包含有某个字符换的时候就不能用like 了吧?

这时候可以使用@> 来查找数组列中某个元素是否包含。

当然同样也适用于:

  • 范围类型
  • 几何类型
  • JSON类型
select version()
PostgreSQL 12.4

CREATE TABLE sor.contacts(id int primary key, name varchar(40),phone varchar(32)[],address text);

insert into sor.contacts select seq, seq, array[seq+13600000000,
seq+13600000001] from generate_series(1, 500000, 2) as seq;

select * from sor.contacts

CREATE INDEX idx_contacts_phone on sor.contacts using gin(phone);



SELECT * FROM sor.contacts WHERE phone @>array['13600006688'::varchar(32)];

 

参考: https://www.postgresql.org/docs/current/functions-json.html

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!