Oracle中如何正确插入0001年时间数据?解决RR格式转为2001年问题
问题原因
你使用的RR是Oracle针对两位年份设计的兼容格式符,会自动匹配世纪位:年份后两位为0-49时默认归属21世纪,50-99时归属20世纪。你输入的0001年被RR格式取后两位01,因此自动判定为2001年。
解决方案
将to_timestamp函数中的年份格式符RR替换为YYYY即可,YYYY会严格匹配四位年份,不会自动补全世纪位。
修正后的SQL语句如下:
UPDATE table1 SET datblock = to_timestamp('01/01/0001 00:00:00,000000000','DD/MM/YYYY HH24:MI:SSXFF')
如果你的datblock字段为DATE类型,也可以对应使用to_date函数执行更新,格式符规则保持一致即可。
内容的提问来源于stack exchange,提问作者user1187282
相关产品推荐
相关产品推荐

