嗨我想在字符串中分隔整数并构建一个数组例如50 + 80在列中我想得到[50,80]这是一个简单的例子在我的列中我将有更复杂的表达式如(10 + 20)/ 30我想得到[10,20,30]我可能有+,-,*,/,(,),' '删除所有这些,并希望建立和数组与逗号分隔的数字。我尝试替换,但输出是字符串,所以我的数组是['10,20,30'],我们可以执行此正则表达式吗
jvidinwx1#
我会选regexp_substr_all
regexp_substr_all
set str='(10 + 20) / 30'; select regexp_substr_all($str,'[0-9]+');
z9smfwbn2#
我将把你的问题简化为:如何将字符串'10,20,30'转换为数字数组?解决这个问题的一个快速方法是使用parse_json():
'10,20,30'
parse_json()
with data as (select '10,20,30' x) select parse_json('['|| x ||']') from data
2条答案
按热度按时间jvidinwx1#
我会选
regexp_substr_all
z9smfwbn2#
我将把你的问题简化为:
如何将字符串
'10,20,30'
转换为数字数组?解决这个问题的一个快速方法是使用
parse_json()
: