当我尝试使用oci8扩展名将记录插入oracle时,我收到了无效的月份错误。
'29-12-2015'
但如果我尝试:
'29-DEC-2015'
有效。可能是什么问题呢?我该如何解决?
答案 0 :(得分:1)
除非您明确设置了会话参数,否则您可能正在使用数据库默认日期格式;类似于DD-MON-RR
。
使用select * from nls_session_parameters
检查会话日期格式。
要解决您的问题,您可以:
将会话设置为识别您要使用的日期格式:
alter session set NLS_DATE_FORMAT = ...
或在语句中将字符串显式转换为日期:
... to_date('2015-01-13', 'YYYY-MM-DD') ...