如何在PostgreSQL中从右边抓取

时间:2014-01-29 16:31:31

标签: sql postgresql

我有一个查询,我正在使用split_part从某个位置获取值:

split_part(fieldname,'{',12) 

结果将如下:

200;1;235}
200;1;237}
200;1;216}

我的目标是在第;之后抓取任何内容(235,237,216),因为;之后的字符数不是静态的

表示有时会出现1,2,4甚至5位数字,字符数会因值而异。

怎么做?

2 个答案:

答案 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