【问题标题】:String Functions on Unnested Arrays in BigQuery SQLBigQuery SQL 中未嵌套数组的字符串函数
【发布时间】:2021-12-29 15:13:42
【问题描述】:

我正在尝试查找其中一个数组项包含值的所有行实例,忽略 Google BigQuery 中的大小写。

我能做到:

SELECT
  COUNT(*)
FROM
  `my_bq_project.my_bq_dataset.my_table`
WHERE
  (
      'AAA' IN UNNEST(array_1.array_2.some_text)
  )

这适用于在array_1.array_2.some_text 中查找'AAA'。但是我也想找到'aaa''Aaa'等等。

但这不起作用:

SELECT
  COUNT(*)
FROM
  `my_bq_project.my_bq_dataset.my_table`
WHERE
  (
      'AAA' IN UNNEST(LOWER(array_1.array_2.some_text))
  )

我想避免重复 where 语句(为'AaA''aaa' 等添加 where 条件)。

有没有办法在 BigQuery SQL 的数组中的结构字段上应用 LOWER 之类的字符串函数?

谢谢

【问题讨论】:

    标签: sql google-bigquery


    【解决方案1】:

    试试下面的方法

    SELECT
      COUNT(*)
    FROM
      `my_bq_project.my_bq_dataset.my_table`
    WHERE LOWER('AAA') IN (
      SELECT LOWER(some_text)
      FROM UNNEST(array_1) a, UNNEST(a.array_2)
    )
    

    【讨论】:

    • 很高兴它对你有用。然后考虑投票赞成答案:o)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-25
    相关资源
    最近更新 更多