如何在大查询的where子句中放置正则表达式过滤器

时间:2020-03-30 17:44:10

标签: regex google-bigquery

如何添加sql select语句的where子句以匹配特定的正则表达式。

我有一张带电话号码的桌子。电话号码为10位数字。数据很脏,因此我不想选择不是这种格式的记录。像这样:

select * from Phones where Phones like `RegExp("^\\d{9}$")`;  <-- this doesn't work

谢谢

1 个答案:

答案 0 :(得分:1)

对于BigQuery Standard SQL-在下面使用(假设您的正则表达式本身正确)

WHERE REGEXP_CONTAINS(Phones, r'^\d{10}$')   

上方将过滤掉电话不是10位数字字符串的任何行