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

如何在Google Spanner中查询包含指定值的ARRAY<STRING>列

数组类型列的SQL筛选方案

1. 通用SQL筛选数组包含指定元素的方法

不同数据库对数组类型的支持语法略有差异,以下是常见数据库的实现方式:

  • PostgreSQL:使用ANY运算符或数组包含运算符@>
    -- 方法1:匹配数组中任意位置的目标元素
    SELECT * FROM your_table
    WHERE '目标元素' = ANY(array_column);
    
    -- 方法2:判断数组是否包含目标元素组成的子数组
    SELECT * FROM your_table
    WHERE array_column @> ARRAY['目标元素'];
    
  • MySQL:若为JSON数组类型,使用JSON_CONTAINS函数
    SELECT * FROM your_table
    WHERE JSON_CONTAINS(json_array_column, '"目标元素"');
    
  • SQL Server:原生数组类型可直接用ARRAY_CONTAINS,字符串拼接的数组可结合STRING_SPLIT处理
    -- 原生数组类型筛选
    SELECT * FROM your_table
    WHERE ARRAY_CONTAINS(array_column, '目标元素');
    

2. Google Spanner中筛选ARRAY列的方法

针对Spanner的ARRAY<STRING>类型列FOO,筛选包含元素"BAR"的记录,使用内置的ARRAY_CONTAINS函数:

SELECT * FROM your_table
WHERE ARRAY_CONTAINS(FOO, 'BAR');

如果需要筛选FOO列恰好等于数组["BAR"]的记录,直接使用等于判断:

SELECT * FROM your_table
WHERE FOO = ['BAR'];

内容的提问来源于stack exchange,提问作者Andrew Q

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 20:15:37