我正在使用Oracle 12c版本。 我有一个整数数据类型的列,它代表总分钟。 我需要将其转换为HOURS:MINUTES格式。
有人可以建议怎么做吗?
谢谢, VENU
答案 0 :(得分:3)
使用一系列内置函数完成这项工作相当容易。
to_char(floor(field / 60) || ':' || to_char(mod(field, 60), 'FM00')
分解:
to_char(floor(field / 60)
field / 60
为我们提供了小时数floor()
确保我们不必处理小数to_char()
将其转换为字符串,以便我们可以连接它。|| ':' ||
mod(field, 60)
获取field / 60
to_char()
再次转换为连续步骤的字符串'FM00'
确保我们保留前导零。显然,您需要将field
替换为调用数据库中的任何字段。
答案 1 :(得分:0)
您可以使用 to_date 内置函数将整数转换为有效时间。
示例
SQL> select to_char ( to_date ( '2300', 'HH24MI'), 'HH:MI AM') integer_time from dual;