You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PrestoDB如何筛选varchar列值在指定数组中的行?

VARCHAR类型列实现IN数组筛选的方法

针对你的需求,有两种常用实现方式,均可筛选出Column1值在指定数组中的行:

方式一:标准SQL IN 子句(通用型)

这是所有主流关系型数据库都支持的标准写法,只需将数组中的每个字符串值用单引号包裹,通过IN关键字枚举即可:

WITH dataset AS (
    SELECT *
    FROM (
             VALUES (1, 'foo'),
                    (2, 'bar')
         ) AS t (ID, Column1))
SELECT
    ID, 
    Column1
FROM
    dataset
WHERE Column1 IN ('bar', 'baz', 'zap');

执行后会返回ID=2, Column1='bar'的行,符合预期。

方式二:数据库特定数组函数(可选)

部分数据库(如PostgreSQL)支持直接使用数组匹配语法,写法更贴近你给出的伪代码形式,但仅适用于支持数组操作的数据库:

WITH dataset AS (
    SELECT *
    FROM (
             VALUES (1, 'foo'),
                    (2, 'bar')
         ) AS t (ID, Column1))
SELECT
    ID, 
    Column1
FROM
    dataset
WHERE Column1 = ANY('{"bar", "baz", "zap"}'::text[]);

内容的提问来源于stack exchange,提问作者not link

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 17:02:04