我有一个 Oracle 数据库,需要将一个日期为 YYYY-MM-DD HH:MM:SS 格式的字符串插入到 Oracle 时间戳字段中。为此,我编写了以下代码:
$date = '2013-01-01 10:10:10';
$sql = oci_parse($c,"INSERT INTO MY_TABLE (ID, SEND_DATE) VALUES (MY_SEQ.nextval, TO_TIMESTAMP(:send_date, 'YYYY-MM-DD HH24:MI:SS'))");
oci_bind_by_name($sql, ':send_date', $date, null, SQLT_CHR);
oci_execute($sql);
该表如下所示:
CREATE TABLE "MY_TABLE"
( "ID" NUMBER NOT NULL ENABLE,
"SEND_DATE" TIMESTAMP (0) NOT NULL ENABLE );
如果我执行上面的查询,我会得到这个错误:
ORA-01461: 只能绑定 LONG 值以插入 LONG 列
Stack Overflow 上已经有很多关于 ORA-01461 的问题,但我找不到这个特定问题的解决方案。我真的无法理解 LONG 在这个星座中的什么位置。