我正在寻找建立一个查询,该查询将查找给定列中具有Unicode字符的记录。
我试过
SELECT col
FROM [project:dataset.table]
where (REGEXP_MATCH(path,r"[\u0020-\u007E]"))
似乎无法获得正则表达式的正确语法。这个特定的错误:
无法解析正则表达式“ [\ u0020- \ u007E]”:无效的转义序列:\ u
在这里阅读,似乎意味着双引号应启用Unicode转义。显然不是。
有什么建议吗?
数据(大致)为以下形式
想象一下,我想找到其中的记录任何的数据分数包含Unicode字符。这有意义吗?
尝试以下-适用于BigQuery标准SQL
#standardSQL
SELECT col
FROM `project.dataset.table`
WHERE REGEXP_CONTAINS(path, '''[\u0020-\u007E]''')
假设我要查找记录,其中任何数据分数a都包含unicode字符。
#standardSQL
WITH `project.dataset.table` AS (
SELECT 1 AS col, ['ab!"#$%&()*+,-./', 'cd!"#$%&()*+,-./'] AS path UNION ALL
SELECT 2, ['12,3', '456', '789'] UNION ALL
SELECT 3, ['abc']
)
SELECT *
FROM `project.dataset.table`
WHERE (
SELECT COUNTIF(REGEXP_CONTAINS(path, '''[\u0020-\u0030]'''))
FROM UNNEST(path) AS path
) > 0
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句