如何更改存储在Oracle Date变量中的Hour值?

时间:2017-04-25 14:46:32

标签: oracle

我需要更改存储在Date变量中的数据的小时值。这可能在Oracle中吗?

1 个答案:

答案 0 :(得分:0)

Oracle设置

CREATE TABLE your_table ( value DATE );

INSERT INTO your_table VALUES ( SYSDATE );

在日期添加一小时

UPDATE your_table
SET value = value + INTERVAL '1' HOUR;

将小时更改为上午8点(不更改年/月/日/分/秒):

UPDATE your_table
SET value = value + NUMTODSINTERVAL(
                      8 - EXTRACT( HOUR FROM CAST ( value AS TIMESTAMP ) ),
                      'HOUR'
                    );

将时间设置为新时间

将时间从当前值更改为14:56:27

UPDATE your_table
SET value = TO_DATE(
              TO_CHAR( value, 'yyyy-mm-dd' ) || ' 14:56:27',
              'yyyy-mm-dd hh24:mi:ss'
            )

UPDATE your_table
SET value = TRUNC( value ) + INTERVAL '14:56:27' HOUR TO SECOND;