web-dev-qa-db-ja.com

Javascript日付からSQL日付オブジェクト

Javascript日付オブジェクトを取得し、SQL ServerとOracleデータベースの両方のタイプで認識されるオブジェクトタイプに入れるクエリを作成しようとしています。

問題は、Webサービスを使用していることです。したがって、実際に渡されたパラメーターではなく、文字列である必要があります。ここに私が意味するものがあります:

_var date = new Date();
var firstDayOfMonth = new Date(date.getFullYear(), date.getMonth(), 1);
var lastDayOfMonth = new Date(date.getFullYear(), date.getMonth() + 1, 0);

var webServicesQueryWhereClause = 'readDate BETWEEN '+firstDayOfMonth+' AND '+lastDayOfMonth;
_

firstDayOfMonthlastDayOfMonthを除くto_date()のようなものに囲まれて、データベースが読み取れる日付形式に実際に入れます。例えば:

_var webServicesQueryWhereClause = 'readDate BETWEEN to_date('+firstDayOfMonth+') AND to_date('+lastDayOfMonth+') ';
_

これらの日付をSQL ServerとOracleの両方が読み取れる形式にするには、何を使用すればよいですか?

14
Graham

ここに提示されたソリューションを試しましたか:

JS日時をMySQL日時に変換する

タイトルを呼び出す必要があります

「JS日付をSQL DateTimeに変換」

たまたま今あなたと同じことをする必要があり、あなたの質問の後にこれに出くわしました。

これは、このページの回答が必要な人のためのGajus Kuizinasによる他の投稿からのものです。

var pad = function(num) { return ('00'+num).slice(-2) };
var date;
date = new Date();
date = date.getUTCFullYear()        + '-' +
        pad(date.getUTCMonth() + 1) + '-' +
        pad(date.getUTCDate()       + ' ' +
        pad(date.getUTCHours()      + ':' +
        pad(date.getUTCMinutes()    + ':' +
        pad(date.getUTCSeconds();     

または

new Date().toISOString().slice(0, 19).replace('T', ' ');

最初のものは私のために働いた。ライナーを1つ使用したいのですが、toISOStringの参照にも問題がありました。誰でもそれを使用する方法を明確にし、それを参照できる場所の制限を知ることができますか?幸運を!

38
JPK