这是我想要匹配的字符串模式。字符串可以是alpha或numeric或两者(两个不同字符串的示例) " a252-449e8740ac24_1" , " 9161-dbc9d0f07af9_0"
这是我的查询
select * from table where string like '([0-9]|[a-z]%^-%[0-9]|[a-z]%^_[0-9])'
这不是给我输出。我是红移的新手。请帮帮我!!!
答案 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