Oracle数据库和Codeigner中的日期插入问题


Date Insertion Issue in Oracle Database and Codeigniter

我在用日期列更新oracle数据库表时遇到问题。我尝试了很多解决方案,但仍然没有成功我无法使用codeigniter活动记录或正常查询将日期插入数据库。。列类型为时间戳。以下是我尝试过的一些解决方案。你能帮忙吗。。谢谢

 $this->db->set('AC_START',"TO_DATE('2014-03-4 2:30','yyyy-mm-dd hh:mm')");
 $this->db->set('AC_END',"TO_DATE('2014-05-5 2:34' ,'yyyy-mm-dd hh:mm')");
 $this->db->insert('ACTIVITES');

这是一条错误消息,我总是收到

错误编号:

INSERT INTO "LI_PPPA"."ACTIVITES" ("AC_START", "AC_END") VALUES ('TO_DATE('2014-03-4 2:30','yyyy-mm-dd hh:mm')', 'TO_DATE('2014-05-5 2:34' ,'yyyy-mm-dd hh:mm')')

文件名:目录''程序''系统''数据库''DB_driver.php行号:330

您必须确保CI不会转义传递给oracle数据库的值,因为to_date是一个oracle函数。

尝试以下操作:

 $this->db->set('AC_START',"TO_DATE('2014-03-4 2:30','yyyy-mm-dd hh:mm')",FALSE);
 $this->db->set('AC_END',"TO_DATE('2014-05-5 2:34' ,'yyyy-mm-dd hh:mm')",FALSE);
 $this->db->insert('ACTIVITES');code here

最后一个参数告诉CodeIgniter不要转义这个值。

Sonaryr的回答为我抛出了一个Oracle错误:ORA-01810

Oracle SQL开发人员语句输出:

Error report:
SQL Error: ORA-01810: format code appears twice
01810. 00000 -  "format code appears twice"
*Cause:    
*Action:

要修复将MM更改为MI的问题:

$this->db->set('AC_START',"TO_DATE('2015-09-02 16:35' ,'YYYY-MM-DD HH24:MI')",FALSE);

编写普通查询以对To_DATE()执行操作;Codegniter对于oracle的to_date()没有任何库函数。