将整数转换为时间

时间:2017-08-16 17:27:33

标签: oracle

我正在使用Oracle 12c版本。 我有一个整数数据类型的列,它代表总分钟。 我需要将其转换为HOURS:MINUTES格式。

有人可以建议怎么做吗?

谢谢, VENU

2 个答案:

答案 0 :(得分:3)

使用一系列内置函数完成这项工作相当容易。

to_char(floor(field / 60) || ':' || to_char(mod(field, 60), 'FM00')

分解

  1. 获取小时数:to_char(floor(field / 60)
    • field / 60为我们提供了小时数
    • floor()确保我们不必处理小数
    • to_char()将其转换为字符串,以便我们可以连接它。
  2. 添加':'|| ':' ||
  3. 获取分钟数
    • mod(field, 60)获取field / 60
    • 的剩余部分
    • to_char()再次转换为连续步骤的字符串
    • 'FM00'确保我们保留前导零。
  4. 显然,您需要将field替换为调用数据库中的任何字段。

答案 1 :(得分:0)

您可以使用 to_date 内置函数将整数转换为有效时间。

示例

SQL> select to_char ( to_date ( '2300', 'HH24MI'), 'HH:MI AM') integer_time from dual;