oracle数据库插入出现无效的月份

oracle数据库插入出现无效的月份,第1张

通过以下sql来查询当前的默认日期显示格式

select value from nls_session_parameters where parameter='NLS_DATE_FORMAT'

要插入的数据类型是date,你却插入一个字符串,这里会产生一个隐式转换。例如上面查询出来的结果为DD-MON-RR,然后你插入一条记录:insert into T1(COL1) values('2011/09/07')

此时系统检测到数据类型不一致(expected date but got string),按照当前session的模式日期格式进行隐式转换to_date('2011/09/07','DD-MON-RR') 格式显然不对应,于是就会报错

解决办法就是将你的字符串格式转换成日期格式,避免隐式转换:

insert into T1(COL1) values(to_date('2011/09/07 12:00:00','YYYY/MM/DD HH24:MI:SS')

如果你是用字符的话,建议你使用to_date函数显示转化为DATE类型的。

to_date('2010-12-6 00:12:00','yyyymmdd hh24:mi:ss')改成to_date('2010120600:12:00','yyyymmdd hh24:mi:ss')。

to_date('2010-12-6 00:12:59','yyyymmdd hh24:mi:ss')改成to_date('2010120600:12:59','yyyymmdd hh24:mi:ss')。

数字的时间格式必须和字母指定的格式一致。

要插入的数据类型是date,你却插入一个字符串,这里会产生一个隐式转换。

例如上面查询出来的结果为DD-MON-RR,然后你插入一条记录:insert into T1(COL1) values('2011/09/07')。

此时系统检测到数据类型不一致(expected date but got string),按照当前session的模式日期格式进行隐式转换to_date('2011/09/07','DD-MON-RR') 格式显然不对应于是就会报错。

to_date('2010-12-6 00:12:00','yyyymmdd hh24:mi:ss')改成to_date('20101206 00:12:00','yyyymmdd hh24:mi:ss')。

to_date('2010-12-6 00:12:59','yyyymmdd hh24:mi:ss')改成to_date('20101206 00:12:59','yyyymmdd hh24:mi:ss')。

数字的时间格式必须和字母指定的格式一致。

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。

可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10099479.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存