2016-06-27 12 views
0

Oracleにバッチ挿入する必要があります。しかし、日付の形式が正しくありません。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')" 
    ); 
+0

私はPHPの専門家ではないが、私は一つのことを観察しました。 PHPの日付形式はd-M-Yですが、Oracleの式はdd/mm/yyyyです。 oracleの日付形式をdd-mm-yyyyに変更できますか? –

+0

実際に日付形式は問題ありません。 INSERT INTO "USER_GROUP_RIGHT"( "DATA_STATUS"、 "ENTRY_BY"、 "ENTRY_DATETIME"、 "MENU_LINK_ID"、 "USER_GROUP_ID" )VALUES(1、 '5'、 'to_date(' '12、27/6/2016 '、' dd/mm/yyyy ')'、 '8'、 '2') –

+0

あなたはどんな問題に直面していますか?何かエラーを投げますか? –

答えて

0

ねえ、私は簡単な例を与えているこの1つは助けに私のチェックしてください...

$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); 

今以上が正常に動作しますが、私は時間/秒/分

を含ん何よりきめ細かに日付(「DM-Y」)を変更しようとした場合

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'); 
+0

解決済み。ありがとうございました! –

+0

Shamminuj Rahmanあなたは上記のソリューションまたは他のものを使用しましたか? –

+0

はい、バッチ挿入にこの日付形式を使用しました。 –

関連する問題