2017-09-06 77 views
0

我建议在postgresql中使用REGEXP来提取此列。 我想得到括号内的值,即25.000,其中此列中的值将有15种品种。带开括号的正则表达式

Description 
TO-CANADA/POSTCARD (Tj 25.000)/TCN-39dgr7e0e41951 

已经尽了全力用正则表达式与此查询

select regexp_matches(description,'TO-CANADA/') from aa.bb limit 2; 

然而,输出{-}

我怎么能提取括号内的值?

+0

括号内的值是 “TJ 25.000”。你为什么忽略第一部分? –

+0

是的,因为我只需要它内部的价值,想对这个价值的分布做一些分析。该值代表实际花费的金额,所以如果我得到那个,那么我会画一个分配@GordonLinoff – user3292755

回答

1

请试试这个

# select (regexp_matches(
    'TO-CANADA/POSTCARD (Tj 25.000)/TCN-39dgr7e0e41951', 
    '\(.*? ([0-9\.]+)\)'))[1]; 
regexp_matches 
--------------- 
25.000 
(1 row)