oracle 如何将时间间隔列数字列添加为小时

bakd9h0s  于 2022-12-22  发布在  Oracle
关注(0)|答案(1)|浏览(94)

我必须遵循名为my_table的表。

| date                     |numeric_data| new_date
|: -------- |: --------------:|:
| 2019-04-16 00:00:00.0    | 11         |2019-04-16 11:00:00.0 
| 2019-04-15 00:00:00.0    | 13         |2019-04-16 13:00:00.0
select date+ interval to_char(numeric_data) hour from my_table

但它不起作用

elcex8rz

elcex8rz1#

可以使用NUMTODSINTERVAL函数:

SELECT date_column + NUMTODSINTERVAL(numeric_data, 'HOUR') AS new_date
FROM   my_table

也可以加上INTERVAL '1' HOUR的倍数:

SELECT date_column + numeric_data * INTERVAL '1' HOUR AS new_date
FROM   my_table

或者你可以加上天数的分数:

SELECT date_column + numeric_data/24 AS new_date
FROM   my_table

其中,对于示例数据:

CREATE TABLE my_table ( date_column, numeric_data ) AS
SELECT DATE '2019-04-16', 11 FROM DUAL UNION ALL
SELECT DATE '2019-04-15', 13 FROM DUAL;

所有输出:
| 新日期|
| - ------|
| 2019年4月16日11时00分|
| 2019年4月15日13时00分|
小提琴

相关问题