BigQuery 中未嵌套数组的字符串函数 SQL
String Functions on Unnested Arrays in BigQuery SQL
我正在尝试查找数组项之一包含值的所有行实例,忽略 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
之类的字符串函数?
谢谢
试试下面的方法
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)
)
我正在尝试查找数组项之一包含值的所有行实例,忽略 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
之类的字符串函数?
谢谢
试试下面的方法
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)
)