红移人类可读的持续时间/相当于postgres` justify_interval`
问题描述:
我有Redshift持续时间值,我想以缩减的形式显示,例如49275177354
应显示为13:41:15.177354
或类似的人类可读。红移人类可读的持续时间/相当于postgres` justify_interval`
这些值可以在几秒到几个小时之间的任何地方,所以适当的基本单位会因行而异。
Postgres里,我会处理使用justify_interval
这是这样的:
select justify_interval(interval '1 usec' * my_col_usec) from my_table;
这怎么能在红移来完成?我查看了Redshift间隔的文档(例如this),但没有找到任何相关功能。我想出了下一个最好的解决方法是使用case
声明,但我想一些更简洁,理想情况下,内置的。
答
你应该使用类似
select (49275177354 * INTERVAL '0.000001 second');
或
select '00:00:00.000'::time+ (49275177354 * INTERVAL '0.000001 second');
完美。谢谢! – alexroussos