regex 在snowflake中从字符串表达式中分隔整数

b5lpy0ml  于 2022-12-05  发布在  其他
关注(0)|答案(2)|浏览(124)

嗨我想在字符串中分隔整数并构建一个数组例如50 + 80在列中我想得到[50,80]这是一个简单的例子在我的列中我将有更复杂的表达式如(10 + 20)/ 30我想得到[10,20,30]
我可能有+,-,*,/,(,),' '删除所有这些,并希望建立和数组与逗号分隔的数字。
我尝试替换,但输出是字符串,所以我的数组是['10,20,30'],我们可以执行此正则表达式吗

jvidinwx

jvidinwx1#

我会选regexp_substr_all

set str='(10 + 20) / 30';

select regexp_substr_all($str,'[0-9]+');
z9smfwbn

z9smfwbn2#

我将把你的问题简化为:
如何将字符串'10,20,30'转换为数字数组?
解决这个问题的一个快速方法是使用parse_json()

with data as (select '10,20,30' x)

select parse_json('['|| x ||']')
from data

相关问题