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

时间:2018-03-06 05:06:42

标签: amazon-redshift

这是我想要匹配的字符串模式。字符串可以是alpha或numeric或两者(两个不同字符串的示例) " a252-449e8740ac24_1" , " 9161-dbc9d0f07af9_0"

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

这不是给我输出。我是红移的新手。请帮帮我!!!

1 个答案:

答案 0 :(得分: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