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