2017-12-27 14 views
0

タイムスタンプフィールドを持つOracle DBがあります。このフィールドにタイムスタンプを挿入する正しいSQLコードは何ですか?Node-Oracleドライバでタイムスタンプを挿入するには?

SQLのCLASSIC:

insert into test (time_of_add_doc) 
    values (to_timestamp('22/12/17 09:00:00','DD/MM/RR HH24:MI:SS'); 

(1)1行を追加しました成功!

私は、Oracleの日付を期待し

oracledb.getConnection({ 
    user: 'ctrm', 
    password: 'ctrm', 
    connectString: "localhost/sig" 
    }, 
    function (err, connection) { 
    if (err) { 
     console.error(err.message); 
     return; 
    } 
    console.log('Connection was successful!'); //Get Connection success 





connection.execute(  


    "INSERT INTO test VALUES (:time_of_add_doc)", { 
    time_of_add_doc: ('22/12/17 09:00:00','DD/MM/RR HH24:MI:SS'), 
    }, 
    function (err, result) { 
     if (err) 
     console.error(err.message); 
     else 
     console.log("Rows inserted " + result.rowsAffected); 
    }); 

答えて

1

私のデータベース(成功)に接続した後、サーバNodeJSからこれをしたいとあなたは、単一のバインド変数に配列を渡しているように見えます。ノードに日付を作成し、それをバインドします。両側のデータ型が正しいことを確認して、あなたはtime_of_add_doc: ('22/12/17 09:00:00','DD/MM/RR HH24:MI:SS'),後の末尾のコンマを持つ

var time_of_add_doc = new Date(2017, 12, 22, 0, 0, 0, 0) 

connection.execute(  


    "INSERT INTO test VALUES (:time_of_add_doc)", { 
    time_of_add_doc, 
    }, 
    function (err, result) { 
     if (err) 
     console.error(err.message); 
     else 
     console.log("Rows inserted " + result.rowsAffected); 
    }); 

を必要なときにOracleとノード間のインターフェースは、標準翻訳を適用してみましょう。私はそれを残しましたが、それは非常に奇妙に思えます。私はこれが現時点で正しいことを確認するためのテストはできません

+0

ありがとうございます!仕事の –

+0

問題はありません@Anis;私は嬉しい!末尾にカンマが必要ですか?私はJSを使ったことはありません。これで問題が解決した場合は、チェックマークをクリックして[受諾](https://meta.stackexchange.com/q/5234/179419)を検討してください。これは、あなたが解決策を見つけ出し、回答者とあなた自身の両方に評判を与えていることを広範なコミュニティに示します。これを行う義務はありません。 – Ben

関連する問題