什么是从字符串中解析区间的最佳方法?

时间:2016-12-29 17:51:08

标签: postgresql parsing casting intervals

从postgres中的字符串(varchar)值获取间隔的最直接方法是什么?

我有一个包含JSON数据的列。其中一个JSON属性是"运行时"格式为"runtime":"03s.684"的值。使用JSON函数,我能够毫无问题地获得运行时值,但之后我得到了引用的字符串值。

我正在寻找类似于to_timestamp()的东西,所以我可以解析字符串,例如:

select to_interval('"03s.684"', '"SS\s.MS"'); --would like to do / this function doesn't exist

或类似的东西也会很好:

select to_timestamp('"03s.684"', '"SS\s.MS"') :: interval; --also not valid

我能看到的一种方法应该是将字符串转换为可以使用regexp_replace()转换为间隔的格式,但这似乎不是最好的方法。从自定义格式的时间字符串中获取间隔的推荐方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以使用to_number()

SELECT to_number('3s.684', '999D9099') * '1 second'::interval;