正则表达式 - 如何从列表

时间:2018-03-19 23:53:14

标签: sql regex amazon-redshift

帮助!我对正则表达式没有任何了解,但我需要在我的sql查询中使用它(amazon redshift)。我有这样的列表:[1245,2324,4433]我想获得第一个号码(1245)。我怎么能这样做?

问候

2 个答案:

答案 0 :(得分:1)

select (regexp_matches('[1245,2324,4433]', '\d+'))[1]

说明:使用regexp_matches,您可以从字符串(\d+)中选择第一个数字,然后从返回的集合中选择第一个(也是唯一的)元素。

如果在所有0行中找不到任何数字,则会返回。

对于RDS,它将是

regexp_substr('[12456,232466,4433]','\\d+')

参考文献:

答案 1 :(得分:0)

你可以试试这个:

select replace(split_part('[1245,2324,4433]',',',1),'[','')