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

在BigQuery中判断两个数组相等的可靠简便方法是什么?

在BigQuery中可靠判断数组相等的简便方法

要实现类似以下代码的数组相等判断逻辑:

SELECT [1,2,3] = [1,2,3]

即直接判断两个数组arr1和arr2是否完全相等(元素值、类型、顺序均一致),可以参考以下方案:

不推荐的方案:使用TO_JSON_STRING转换对比

这种方法会丢失元素的类型信息,导致不同类型的等价值被误判为相等,比如日期类型DATE '2014-01-01'和字符串'2014-01-01'会被TO_JSON_STRING序列化为相同的字符串:

SELECT to_json_string([date '2014-01-01']) = to_json_string(['2014-01-01'])
-- 返回 true,但实际两个数组元素类型不同,不应判定为相等

可靠方案:使用FORMAT('%T')函数格式化后对比

FORMAT('%T')会按照BigQuery的标准类型表示法序列化值,既能保留元素的类型信息,也会严格遵循数组的元素顺序,是判断数组相等的可靠方法:

SELECT FORMAT('%T', [date '2014-01-01']) = FORMAT('%T', ['2014-01-01'])
-- 返回 false,符合预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 23:25:18