关于如何将具有固定时间戳记的sysdate值插入列的任何建议。下面是插入查询:
INSERT INTO
TABLE1 (COLUMN1, COLUMN2, COLUMN3, COLUMN4, COLUMN5, COLUMN6, COLUMN7)
VALUES
('VALUE1', 'VALUE2', 'VALUE3', 'VALUE4', SYSDATE,
TO_TIMESTAMP('SYSDATE 19:00:00','YYYYMMDD HH:MI:SS'),SYSDATE);
目标是获取当前的sysdate并将其插入具有固定时间戳记的数据库中。值:TO_TIMESTAMP('SYSDATE 19:00:00','YYYYMMDD HH:MI:SS')
返回以下oracle错误:
sql错误报告-SQL错误:ORA-01841 :(完整)年份必须介于 -4713和+9999,而不是0 01841。00000-“(完整)年份必须在-4713到+9999之间,并且不能为0” *原因:输入的年份不合法 *操作:在指定范围内输入年份
建议将不胜感激。 :)
答案 0 :(得分:2)
您可以在TRUNC
或TO_DSINTERVAL
小时内使用INTERVAL
函数来使用固定的时间戳。
CAST ( TRUNC(SYSDATE) + TO_DSINTERVAL('00 '||'19:00:00') as timestamp)
OR
CAST ( TRUNC(SYSDATE) + INTERVAL '19' HOUR as timestamp)
答案 1 :(得分:0)
select TO_TIMESTAMP(TO_CHAR(sysdate, 'YYYYMMDD') || ' 19:00:00', 'YYYYMMDD HH24:MI:SS') from dual;