如何编写匹配字符串的redshift aws查询?

Posted

技术标签:

【中文标题】如何编写匹配字符串的redshift aws查询?【英文标题】:How to write redshift aws query for matching string? 【发布时间】:2018-03-06 05:06:42 【问题描述】:

这是我想要匹配的字符串模式。字符串可以是字母或数字或两者兼有(两个不同字符串的示例) “a252-449e8740ac24_1”, “9161-dbc9d0f07af9_0”

这是我的查询 select * from table where string like '([0-9]|[a-z]%^-%[0-9]|[a-z]%^_[0-9])'

这没有给我输出。我是aws redshift的新手。请帮帮我!!!

【问题讨论】:

【参考方案1】:

这是正则表达式 -

SELECT *
FROM table
WHERE string ~ '^([0-9]|[a-z])*-([0-9]|[a-z])*_[0-9]$'

Redshift 有 ~ 运算符,可以将字符串与 POSIX 正则表达式匹配。

此页面详细描述了正则表达式模式(如果您希望更改我指定的正则表达式)- https://docs.aws.amazon.com/redshift/latest/dg/pattern-matching-conditions-posix.html

【讨论】:

以上是关于如何编写匹配字符串的redshift aws查询?的主要内容,如果未能解决你的问题,请参考以下文章

在 AWS Redshift 中查询不同的 JSON 字符串

带标签的 AWS S3、DynamoDB、Redshift?

如何使用更改表查询在 AWS Redshift 中添加多列

AWS Redshift 查询过长异常

如何使用 AWS RedShift Spectrum 为 S3 存储建模以进行查询

获取过去 20 周三的数据:aws redshift