如何在PHP中显式转换日期到字符串日期以便在oracle中输入日期字段?

时间:2016-01-18 10:50:49

标签: php oracle

当我尝试使用oci8扩展名将记录插入oracle时,我收到了无效的月份错误。

'29-12-2015'

但如果我尝试:

'29-DEC-2015'

有效。可能是什么问题呢?我该如何解决?

1 个答案:

答案 0 :(得分:1)

除非您明确设置了会话参数,否则您可能正在使用数据库默认日期格式;类似于DD-MON-RR

使用select * from nls_session_parameters检查会话日期格式。

要解决您的问题,您可以:

  • 将会话设置为识别您要使用的日期格式:

    alter session set NLS_DATE_FORMAT = ...
    
  • 或在语句中将字符串显式转换为日期:

    ... to_date('2015-01-13', 'YYYY-MM-DD') ...