Я отправляю HTTP-запрос в свой PHP файл с помощью javascript, я получаю дату, используя обычную функцию getDate(), однако я не знаю, что это за день, так как каждый день это будет другая дата.
Мне нужен запрос SQL, который проверяет дату и возвращает любые значения с этой даты плюс любые результаты за 2 дня до и через два дня, есть ли такой запрос для этого?
Например:
SELECT col FROM somewhere WHERE MY_DATE = 'VARIABLE_WITH_DATE' BETWEEN 2 days before and 2 days after VARIABLE_WITH_DATE
Важно помнить, что я не знаю, что это за дата, конечно, если я знаю дату, когда я мог бы сделать запрос SQL намного проще.
Я могу немного взломать javascript, чтобы исправить эту проблему, но было бы неплохо узнать, есть ли такой SQL-запрос.
Я использую MySql
Спасибо
Вы можете сделать это:
SELECT col
FROM somewhere
WHERE DATE(MY_DATE) BETWEEN
SUBDATE(IFNULL(VARIABLE_WITH_DATE,NOW()),INTERVAL 2 DAY)
AND ADDDATE(IFNULL(VARIABLE_WITH_DATE,NOW()),INTERVAL 2 DAY);
Попробуй это:
SELECT col
FROM somewhere
WHERE MY_DATE BETWEEN dateadd(day,-2,VARIABLE_WITH_DATE)
and dateadd(day,2,VARIABLE_WITH_DATE)
Вы можете прочитать больше здесь: https://www.w3schools.com/sql/func_sqlserver_dateadd.asp