如何从描述中提取数字(价格)

时间:2019-05-08 12:31:46

标签: sql regex postgresql substring postgresql-9.1

商品价格采用格式

999,99

999 -  1 ..4 digits 
, - comma sign marks decimal point 
99 - 2 digits after price

Postgres 9.1表包含char(50)类型的列。 此列可能包含用空格分隔的单独单词中的价格。喜欢

Product 12,99 blue
Another product 4,59
This is third 124,39 item price

如何从select语句的描述中提取价格?对于那三行结果应该是

12,99
4,59
124,39

使用

x86_64-unknown-linux-gnu上的PostgreSQL 9.1.2,由gcc-4.4.real(Debian 4.4.5-8)4.4.5,64位编译

1 个答案:

答案 0 :(得分:3)

您可以使用substring(yourString FROM yourPattern)函数来做到这一点。

SELECT substring(columnName FROM '\d{1,4},\d{2}') 
FROM tableName

正则表达式说明:

d{1,4}-至少一位数字,但不超过四位数

,-逗号

d{2}-正好两位数字