Дата Javascript для объекта sql date

Я пытаюсь написать запрос, который принимает объект даты Javascript, а затем помещает его в тип объекта, который распознается как SQL Server, так и типами баз данных Oracle.

Проблема в том, что я использую webservices. Поэтому он должен быть строкой, а не фактическим переданным параметром. Вот что я имею в виду:

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;

За исключением firstDayOfMonth и lastDayOfMonth окружены чем-то вроде to_date(), чтобы фактически помещать их в формат даты, который могут читать базы данных. Например:

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

Что я должен использовать, чтобы поместить эти даты в форму, которая может быть прочитана как SQL Server, так и Oracle?

Ответ 1

Вы пробовали решения, представленные здесь:

Конвертировать JS date time в MySQL datetime

Название должно называться

"Конвертировать дату 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', ' ');

Первый работал на меня. У меня также была проблема со ссылкой на toISOString, хотя я бы предпочел один вкладыш. Может кто-нибудь уточнить, как его использовать и знать ограничения на то, где можно ссылаться на него? Удачи!