首页 > 解决方案 > 检查字符串是否是数组之一

问题描述

如果该项目存在于数组中,我想添加一个where条件,如何制作这个条件语句?

SELECT 
        *
FROM
        table
WHERE
        id = 'XX'
AND
        tag in {'one', 'two', 'three'};

标签: postgresql

解决方案


您快到了!只需替换{(.

让我们先创建表来测试:

create table test(
    id varchar(2),
    tag varchar(10)
);

插入一些值:

insert into test(id, tag) values ('XX', 'one'), ('YY', 'two'), ('XX', 'three'), ('XX', 'four');

执行您的查询:

SELECT 
        *
FROM
        test
WHERE
        id = 'XX'
AND
        tag in ('one', 'two', 'three');

您应该看到如下结果:

id|tag  |
--+-----+
XX|one  |
XX|three|

推荐阅读