代码之家  ›  专栏  ›  技术社区  ›  Andrus

如何从描述中提取价格

  •  0
  • Andrus  · 技术社区  · 5 年前

    项目价格采用格式

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

    Postgres9.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
    

    使用

    postgresql 9.1.2在x86_64-unknown-linux-gnu上,由gcc-4.4.real(debian 4.4.5-8)4.4.5编译,64位

    1 回复  |  直到 5 年前
        1
  •  3
  •   Czarek    5 年前

    你可以用 substring(yourString FROM yourPattern) 功能。

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

    正则表达式解释:

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

    , -逗号

    d{2} -正好是两位数