我有一个整数值的字段,表示秒数。我想将其显示为MM:SS,不带小时,因此例如6000秒应显示为100:00。 最简单的方法是什么?据我所知,to_char不能用于此。
答案 0 :(得分:1)
这是一种解决方法,因为我找不到更好的解决方案:
您可以使用简单的选择:
test=# select (6022/60)::TEXT || ':' || (6022%60)::TEXT;
?column?
----------
100:22
(1 row)
这可以包含在一个很好的功能中:
CREATE FUNCTION format(integer) RETURNS TEXT AS $$
select ($1/60)::TEXT || ':' || ($1%60)::TEXT;
$$ LANGUAGE SQL STABLE;
使用示例:
test=# SELECT format(6);
format
--------
0:6
(1 row)
test=# SELECT format(60);
format
--------
1:0
(1 row)
test=# SELECT format(600);
format
--------
10:0
(1 row)
test=# SELECT format(6000);
format
--------
100:0
(1 row)