unicode - BigQuery - 查找 unicode 字符

标签 unicode google-bigquery

我希望构建一个查询来查找给定列中包含 unicode 字符的记录。

我尝试过各种变体

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

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

Failed to parse regular expression "[\u0020-\u007E]": invalid escape sequence: \u

阅读here这似乎意味着双引号应该启用 unicode 转义。显然不是。

建议?

<小时/>

编辑:

数据(大致)是这样的形式

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

假设我想要查找数据部分 a任何 包含 unicode 字符的记录。这更有意义吗?

最佳答案

尝试以下操作 - 用于/与 BigQuery 标准 SQL 一起使用

#standardSQL
SELECT col 
FROM `project.dataset.table` 
WHERE REGEXP_CONTAINS(path, '''[\u0020-\u007E]''')  

Imagine that I want to find records where any of data fraction a contains unicode characters.

#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

关于unicode - BigQuery - 查找 unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43482331/

相关文章:

JSON 序列化表情符号

sql - PostgreSQL upper function on the ascii 152 character ("ÿ")

unicode - 为什么 Unicode 中没有 "Medium Small Black Circle"

mysql - 计算左联合表中的非空值

google-bigquery - 在 BigQuery 中对日期表进行分区时会产生成本吗?

google-bigquery - 是否可以检索完整的查询历史记录并将其成本与 google bigquery 相关联?

unicode - 通过 FTP 将 ANSI 字符串写入 Unicode 文件

java - 当组合三个字符ക (\u0D15) + ് (\u0D4D) + ര (\u0D30) 时,Unicode 字体不会在 SWING 中呈现,得到 ര്ക 而不是 ക്ര

google-bigquery - BigQuery Connected Sheets - 需要用户权限吗?

google-bigquery - 从地理点 BigQuery 创建多边形