sql - 将 Athena SQL 与正则表达式结合使用

标签 sql amazon-athena

我正在使用 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逻辑也可以由一个不同的选择来表示,我在上面选择了它。

关于sql - 将 Athena SQL 与正则表达式结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67481285/

相关文章:

mysql - 使用条件 WHERE 子句选择表的字段

timestamp - 如何将 Athena 时间戳转换为字符串

amazon-athena - Athena MSCK 修复表返回 'tables not in metastore'

sql - 将 clob 转换为 varchar2

sql - 按组划分的同一字段中的日期之间的平均时间

sql - Spring data jpa,原生查询Hibernate异常

mysql - NOT IN 关键字在 mysql 查询后不起作用?

amazon-web-services - AWS Athena - 如何参数化 SQL 查询

amazon-web-services - 使用 Athena Terraform 脚本

java - 使用 JDBC 连接到 Athena 时找不到合适的驱动程序