Как я должен использовать фильтр даты в предложении где в MYSQL? - PullRequest
0 голосов
/ 26 марта 2020

пользовательский ввод

{
        "user_id": 1,
        "schedeuled_time": "22-03-2020"
    }

В ДАТАХ БАЗЫ ДАННЫХ ХРАНИТСЯ В ФОРМАТЕ ДАННЫХ, например: - * 2020-03-22 15:30:00

Как я могу точно фильтровать, используя одну дату, потому что нижеприведенный метод не подходит.

 `SELECT
                        todo_id,
                        todo_item,
                        user_id,
                        DATE_FORMAT(schedeuled_time, '%d-%m-%Y') as 
                        schedeuled_date,
                        DATE_FORMAT(schedeuled_time, '%l:%i% %p') as 
                        schedeuled_time,
                        is_done,
                        is_time_passed
                     FROM to_do_table 
                     WHERE is_deleted = 0 AND
                     user_id = ${req.body.user_id} AND
                     schedeuled_time LIKE ('%${req.body.schedeuled_time}%')
                     order by schedeuled_time`

Я ХОЧУ ИСПОЛЬЗОВАТЬ ТОЛЬКО ОДНУ ДАТУ Например: - WHERE scheduled_time = '26-03-2020'

Ответы [ 2 ]

0 голосов
/ 26 марта 2020

Я настоятельно рекомендую использовать параметр запроса , и просто указать дату или строку YYYY-MM-DD в качестве этого параметра. (Многие фоны, учитывая переменную типа Date, просто сделают это за вас.)

0 голосов
/ 26 марта 2020

Вы можете использовать следующее решение, используя DATE, чтобы получить только часть даты даты и времени, и STR_TO_DATE, чтобы получить действительное значение даты пользовательского ввода:

SELECT
  todo_id,
  todo_item,
  user_id,
  DATE_FORMAT(schedeuled_time, '%d-%m-%Y') AS schedeuled_date,
  DATE_FORMAT(schedeuled_time, '%l:%i% %p') AS schedeuled_time,
  is_done,
  is_time_passed
FROM to_do_table 
WHERE is_deleted = 0 
  AND user_id = ${req.body.user_id}
  AND DATE(schedeuled_time) = STR_TO_DATE('${req.body.schedeuled_time}', '%d-%m-%Y')
ORDER BY schedeuled_time
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...