BigQuery-查找Unicode字符

种族主义

我正在寻找建立一个查询,该查询将查找给定列中具有Unicode字符的记录。

我试过

SELECT col 
FROM [project:dataset.table] 
where (REGEXP_MATCH(path,r"[\u0020-\u007E]"))

似乎无法获得正则表达式的正确语法。这个特定的错误:

无法解析正则表达式“ [\ u0020- \ u007E]”:无效的转义序列:\ u

在这里阅读,似乎意味着双引号应启用Unicode转义。显然不是。

有什么建议吗?


编辑:

数据(大致)为以下形式

  • 时间戳记
  • 记录ID
  • 数组[
    • 数据分数a
    • 数据分数b]

想象一下,我想找到其中的记录任何数据分数包含Unicode字符。这有意义吗?

米哈伊尔·伯利安(Mikhail Berlyant)

尝试以下-适用于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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章