带有日期的Oracle批量插入。如何格式化日期?

时间:2016-06-27 04:16:28

标签: php oracle codeigniter

我需要批量插入到oracle中。但日期格式不正确。

$data[]=array(
        'USER_GROUP_ID'=>$wg_id,
        'MENU_LINK_ID'=>$id,
        'DATA_STATUS'=>1,
        'ENTRY_BY'=>$this->session->userdata['rrss_user']['user_id'],
        'ENTRY_DATETIME'=>"to_date('".date('d-M-Y')."','dd/mm/yyyy')"
    );

1 个答案:

答案 0 :(得分:0)

嘿,我举一个简单的例子,请检查一下我的帮助......

$this->db->insert_batch()

根据您提供的数据生成插入字符串,然后运行查询。您可以将数组或对象传递给函数。以下是使用数组的示例:

$user_id = $this->session->userdata['rrss_user']['user_id'];



  $data = array(
            array(
                'USER_GROUP_ID'=>$wg_id,
                'MENU_LINK_ID'=>$id,
                'DATA_STATUS'=>1,
                'ENTRY_BY' => $user_id,
                'ENTRY_DATETIME'=> date('d-M-Y') 
            ),

    );

$this->db->insert_batch('mytable', $data);

现在以上工作正常,但如果我尝试将日期('d-M-Y')更改为更精细的任何内容,包括hr / sec / mins

所以它看起来像是因为Oracle DATE类型使用'dMY'作为默认格式,所有它都会接受作为日期字段的字符串表示...想知道是否有人对如何设置带有完整日期时间戳的字段,而不仅仅是'dM-Y'。

没有批处理示例:

$this->db->set('user_name', $name);
$this->db->set('age', $age);
$this->db->set('date',"to_date('$date','dd/mm/yyyy')",false);
$this->db->insert('mytable');