提取以句点分隔的字符串的子字符串

时间:2013-12-09 06:58:54

标签: postgresql

我需要得到数据浮点值的子字符串,看起来像

eg :32.85.67
   sometimes 32.4.67

我需要在两次出现中删除第二个点的值(例子)。

Result:32.85 
         32.4

提前致谢

1 个答案:

答案 0 :(得分:1)

如果它有多个句点,它根本不是浮点数,它只是一个字符串。使用常规字符串处理工具 - 模式匹配/正则表达式。

例如:

SELECT (regexp_matches('12.34.56', '\d+\.(\d+)\.\d+'))[1];

或:

SELECT substring('12.34.56' from '[0-9]+\.([0-9]+)\.[0-9]+');

后者可能有点清洁,因为它避免了单元素数组解包,而且它更标准。