我有一个查询,我正在使用split_part
从某个位置获取值:
split_part(fieldname,'{',12)
结果将如下:
200;1;235}
200;1;237}
200;1;216}
我的目标是在第;
之后抓取任何内容(235,237,216)
,因为;
之后的字符数不是静态的
表示有时会出现1,2,4甚至5位数字,字符数会因值而异。
怎么做?
答案 0 :(得分:2)
试试这个:
regexp_matches( split_part(fieldname,'{',12), '\d+;\d+;(\d+)}' )
答案 1 :(得分:0)
尝试
split_part( trim( '}' from split_part(fieldname,'{',12) ), ';', 3)
请看一下这个演示:http://sqlfiddle.com/#!15/978bd/5