У меня есть настройка сервера Node, которая запрашивает базу данных mysql, однако данные, возвращаемые с сервера узла, отличаются от данных, возвращаемых при выполнении запросов непосредственно в рабочей среде mysql.
Я запускаю следующий запрос в узле:
SELECT date
FROM Availability
WHERE NurseNo = 7320 AND
(date BETWEEN '2020-08-01 01:00:00' AND '2020-09-01')
ORDER BY Date ASC;
Этот запрос возвращает следующие записи:
[
{
"date": "2020-08-01T23:00:00.000Z"
},
{
"date": "2020-08-02T23:00:00.000Z"
},
{
"date": "2020-08-03T23:00:00.000Z"
},
{
"date": "2020-08-04T23:00:00.000Z"
},
{
"date": "2020-08-05T23:00:00.000Z"
},
{
"date": "2020-08-06T23:00:00.000Z"
},
{
"date": "2020-08-07T23:00:00.000Z"
},
{
"date": "2020-08-08T23:00:00.000Z"
}
]
Однако, когда я запускаю точно такой же запрос в mysql верстак Я получаю эти записи обратно:
[
{
"date": "2020-08-01 00:00:00"
},
{
"date": "2020-08-02 00:00:00"
},
{
"date": "2020-08-03 00:00:00"
},
{
"date": "2020-08-04 00:00:00"
},
{
"date": "2020-08-05 00:00:00"
},
{
"date": "2020-08-06 00:00:00"
},
{
"date": "2020-08-07 00:00:00"
},
{
"date": "2020-08-08 00:00:00"
},
{
"date": "2020-08-09 00:00:00"
}
]
Почему сервер узла неправильно отбирает меньше записей, чем mysql верстак?
Правка для фактических строк запроса:
Переменные в строке узла происходят из следующих URL-запросов:
availability/get-availability?NurseNo=7320&DateFrom=2020-08-01&DateTo=2020-09-01&loadDay=false
Узел:
SELECT date
FROM Availability
WHERE NurseNo = ${data.NurseNo} AND
(date BETWEEN '${data.DateFrom} 01:00:00' AND '${data.DateTo}')
ORDER BY Date ASC;
MySQL Рабочая среда:
SELECT *
FROM Availability
WHERE NurseNo = 7320 AND
(Date BETWEEN "2020/08/01 00:00:00" AND "2020/09/01")
ORDER BY Date ASC;
Посмотрев, что время в обоих запросах немного отличается, в запросе узла дата имеет время "01:00:00"
, тогда как mySql имеет 00:00:00
, я попытался изменить время mySql на то же самое в качестве узла, но тогда не отображается дата "2020-08-01"
.