我需要更改存储在Date变量中的数据的小时值。这可能在Oracle中吗?
答案 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;