使用场景,某个科室有很多类别1、类别2、类别3三个类别,存到数据库中的数据是 ‘1,2,3’ 我要查找选了类别1的数据
对于这种需求在mysql中用FIND_IN_SET或者正则表达式可以实现,但是我在pgsql中试了下好像不怎么生效,所以我们要先用string_to_array把字段隔开然后再用@>查询包含某个字符的数据,如下图所示,我们看到包含2的都被查了出来。
在pgsql中,@>的意思包含,除此之外还有<@,可以理解为包含于某字段,适用于多条件筛选,是当我把@>换成了<@的时候可以看到查到的数据是选择了2或者3的,仔细查询了pgsql的官方文档,我找到了有关这两个运算符的说明介绍 。
PostgresSQL查询数据中用逗号隔开的数据以及@>与<@的区别
最新推荐文章于 2024-06-12 08:36:07 发布
本文探讨了在PostgreSQL中如何针对含有多个类别(如1,2,3)的数据库记录,使用string_to_array和@>运算符高效查找选择了类别1的数据,对比了FIND_IN_SET和正则表达式的适用性,并介绍了<@运算符在多条件筛选中的用法。
摘要由CSDN通过智能技术生成