商品价格采用格式
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位编译
答案 0 :(得分:3)
您可以使用substring(yourString FROM yourPattern)
函数来做到这一点。
SELECT substring(columnName FROM '\d{1,4},\d{2}')
FROM tableName
正则表达式说明:
d{1,4}
-至少一位数字,但不超过四位数
,
-逗号
d{2}
-正好两位数字