regex - 如何将正则表达式过滤器放在 bigquery 的 where 子句中
问题描述
如何添加到 sql select 语句的 where 子句以匹配特定的正则表达式。
我有一张电话号码表。电话号码为 10 位数字。数据很脏,所以我不想选择不是这种格式的记录。像这样:
select * from Phones where Phones like `RegExp("^\\d{9}$")`; <-- this doesn't work
谢谢
解决方案
对于 BigQuery 标准 SQL - 在下面使用(假设您的正则表达式本身是正确的)
WHERE REGEXP_CONTAINS(Phones, r'^\d{10}$')
上面将过滤掉电话不是 10 位字符串的任何行
推荐阅读
- php - codeigniter 中的“页面未正确重定向”错误
- sql - 如何在动态数据透视查询中用空字符串替换 NULL 值
- android - Android 数据绑定:将包含的布局文件中 RadioGroup 的选定 RadioButton 索引绑定到 MutableLiveData
- html - 在网格框中间对齐文本
- swift - 在 Swift 中垂直显示文本?
- angular-material - Angular Material Sticky Toolbar - 滚动时内容在跳跃
- computer-vision - 我想检测人们在使用手机通话,我必须只使用手机图像进行训练还是必须使用使用手机的人的照片?
- python-3.x - 无法在 Django2 中进行迁移 - 存在 ModuleNotFoundError
- reactjs - React 钩子键盘导航
- c# - RectTransform.deltaSize 在 Unity 中不起作用