2016-12-29 112 views
1

什么是从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()进行间隔转换的格式,但似乎并不是最好的方法。从自定义格式的时间字符串获取间隔的建议方式是什么?

+0

我忘了提为需要的区间值的原因是为了能够执行聚合函数。 –

回答

1

您可以使用to_number()

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

啊哈!这是我正在寻找的。谢谢! –

相关问题