SQL получить даты позже указанной даты - PullRequest
0 голосов
/ 29 октября 2018

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

Формат сохраняется как 20 ноября, 2018

Я пытаюсь вернуть все строки, в которых дата collection_date более поздняя, ​​чем 5 ноября, 2018

Я пробовал следующий запрос, который выдает ошибку.

SELECT * 
FROM `orders` 
WHERE collection_date >= CONVERT(datetime, '20181105')

При этом выдается следующее сообщение об ошибке:

enter image description here

Вот информация о моей БД:

enter image description here

ОБНОВЛЕНИЕ 1: Я пытаюсь следующий запрос. Ни один из предыдущих запросов не работал до сих пор, все выдают 0 строк:

SELECT *
FROM `orders` 
WHERE STR_TO_DATE('collection_date', '%d %M, %Y') >= 2018-11-05

Это тоже не работает

Ответы [ 5 ]

0 голосов
/ 29 октября 2018

На самом деле ... вы должны применить STR_TO_DATE к столбцу collection_date, потому что именно там находятся удобочитаемые даты. Что касается даты input , просто укажите ее в формате yyyy-mm-dd:

SELECT *
FROM `orders` 
WHERE STR_TO_DATE(collection_date, '%e  %M, %Y') >= '2018-11-05'
0 голосов
/ 29 октября 2018

Этот запрос работал у меня:

SELECT *
FROM orders 
WHERE STR_TO_DATE(collection_date, '%d %M, %Y') >= '2018-11-05'  
AND collection_time = '4:00 PM'  
ORDER BY `orders`.`collection_date`  DESC
0 голосов
/ 29 октября 2018

Значение стоит первым в функции convert ()

WHERE collection_date >= CONVERT('2018-11-05', date)

Демо

0 голосов
/ 29 октября 2018

Вы можете попробовать это, используя STR_TO_DATE() function

SELECT * 
FROM `orders` 
WHERE collection_date >= STR_TO_DATE('20181105', '%Y%m%d')
0 голосов
/ 29 октября 2018

В MySQL вы хотите STR_TO_DATE():

SELECT o.* 
FROM `orders` o
WHERE collection_date >= Str_To_Date(datetime, '%e %M, %Y');

CONVERT() с этим синтаксисом является функцией SQL Server.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...