📅  最后修改于: 2023-12-03 14:44:55.974000             🧑  作者: Mango
在Oracle SQL中,数字转换为小时和分钟是一项常见的操作,可以通过以下两种方法实现:
可以使用以下SQL语句将数字转换为小时和分钟:
SELECT TO_CHAR(TO_DATE(number/60/24,'SSSSS'),'HH24:MI') AS time
FROM your_table;
其中,number是要转换的数字,your_table是要查询的表。这条SQL语句将数字转换为一个日期,然后使用TO_CHAR函数将日期格式化为小时和分钟的格式(HH24:MI)。
例如,如果要将121分钟转换为小时和分钟,可以使用以下SQL语句:
SELECT TO_CHAR(TO_DATE(121/60/24,'SSSSS'),'HH24:MI') AS time
FROM dual;
输出结果为:
TIME
-----
02:01
可以使用以下SQL语句将数字转换为小时和分钟:
SELECT EXTRACT(HOUR FROM interval '1' SECOND * number) || ':' || EXTRACT(MINUTE FROM interval '1' SECOND * number) AS time
FROM your_table;
其中,number是要转换的数字,your_table是要查询的表。这条SQL语句将数字转换为一个INTERVAL类型的值,然后使用EXTRACT函数从INTERVAL类型的值中提取出小时和分钟,最后拼接为一个字符串。
例如,如果要将121分钟转换为小时和分钟,可以使用以下SQL语句:
SELECT EXTRACT(HOUR FROM interval '1' SECOND * 121) || ':' || EXTRACT(MINUTE FROM interval '1' SECOND * 121) AS time
FROM dual;
输出结果为:
TIME
-----
2:1
需要注意的是,使用EXTRACT函数和MOD函数的方法会将小时和分钟的个位数去除前导0。如果需要保留前导0,可以使用以下SQL语句:
SELECT LPAD(EXTRACT(HOUR FROM interval '1' SECOND * 121),2,'0') || ':' || LPAD(EXTRACT(MINUTE FROM interval '1' SECOND * 121),2,'0') AS time
FROM dual;
输出结果为:
TIME
-----
02:01
以上就是在Oracle SQL中将数字转换为小时和分钟的两种方法。具体选择哪种方法,可以根据实际情况和个人喜好来决定。