sql - 将 Athena SQL 与正则表达式一起使用
问题描述
我正在使用 DbVisualizer 连接到 athena 实例。我有一个工作查询:
SELECT device, description, id, size, date FROM test.database WHERE month = '01'
and device not like '%link%'
and device not like '%Link%'
and device not like '%LINK%'
and id not like '%abc%'
and id not like '%Abc%'
and id not like '%ABC%'
group by device, description, id, size, date order by month desc
我想做的是清理它并使用正则表达式捕获案例。我很确定 /link.*/ig
并且/abc.*/ig
会抓住案例更改它,但我不知道如何将其插入。我也无法开始"input.regex" =
工作。
解决方案
你可以REGEXP_LIKE
在这里使用:
SELECT DISTINCT device, description, id, size, date
FROM test.database
WHERE
month = '01' AND
NOT REGEXP_LIKE(device, '[lL]ink|LINK') AND
NOT REGEXP_LIKE(device, '[aA]bc|ABC')
ORDER BY
month DESC;
请注意,您的GROUP BY
逻辑也可以仅由我在上面选择的不同选择来表示。
推荐阅读
- c# - Xamarin 表单 - 通知服务
- xslt - 如果元素的内容匹配,则使用 XSLT 将 XML 文件拆分为多个文件
- css - 当我运行 VSCode 的 sass 实时编译器时,我如何获取 CSS 文件夹?
- azure - 用于运行节点 js 命令的 azure 命令行脚本
- javascript - JavaScript异步等待顺序不起作用,它没有等待响应
- java - this.openOrCreateDatabase() 和 SQLiteDatabase.openOrCreateDatabase() 之间的区别
- postgresql - 尝试对选定列执行 UPSERT
- reactjs - 路由时如何更新状态
- jenkins - 验证 Jenkins 插件中的参数
- python - 我希望从一组中打印一次“蠕虫”。有没有办法做到这一点?