【发布时间】:2017-12-29 07:47:05
【问题描述】:
我对此进行了一些研究,但我无法弄清楚。我的问题是由于 ORA-01847 错误,我无法添加新的记录 oracle 数据库。
我尝试将此日期值添加到数据库中:23.07.2017 18:10:00
$MYDATE= $data[$i]->MYDATE;
//I ALSO ADD THIS LINE
$str = oci_parse($conn, "ALTER SESSION SET NLS_DATE_FORMAT = 'DD.MM.YYYY HH24:MI:SS'");
oci_execute($str);
//
$sql = 'INSERT INTO MYTABLE(ID,MYDATE)'.'VALUES(:ID,:MYDATE)';
$compiled = oci_parse($conn, $sql);
oci_bind_by_name($compiled, ':ID', $ID);
oci_bind_by_name($compiled, ':MYDATE', $MYDATE);
oci_execute($compiled);
但是它给了我错误:
ORA-01847 day of month must be between 1 and last day of month 错误。
【问题讨论】:
-
告诉我们字符串 $MYDATE 包含什么
-
MYTABLE.MYDATE的数据类型是什么??? -
数据类型为 DATE
-
你试过
$sql = "INSERT INTO MYTABLE(ID,MYDATE) VALUES (:ID,TO_DATE(:MYDATE, 'DD.MM.YYYY HH24:MI:SS'))";吗?