Mysql определяемый пользователем тип переменной даты в предложении where - PullRequest
0 голосов
/ 08 ноября 2018

Я попытался упростить свои длинные запросы с помощью пользовательских переменных в Mysql. К сожалению, эти переменные не ведут себя в предложении where должным образом, особенно в тех переменных, где хранится дата. Вот 3 упрощенных запроса:

SELECT id,
       @var_date := `date`
FROM   aroma_exchanges
WHERE  @var_date >= "2000-01-01" 

Возвращает 0 строк

Еще один:

SELECT id,
       @var_date := `date`
FROM   aroma_exchanges
WHERE  Str_to_date(@var_date, "%y-%m-%d") >= "2000-01-01" 

Это также возвращает 0 строк.

SELECT id, 
       @var_date := `date` 
FROM   aroma_exchanges 
WHERE `date` >= "2000-01-01" 

Этот работает, как и ожидалось, возвращает много строк. В моем случае определение date очень сложное, и в моем реальном запросе я использовал его несколько раз, поэтому я не хочу повторять один и тот же подзапрос 5-10 раз, если я могу сохранить его в одной переменной и использовать как нужно. Вопрос: как заставить первый или второй запрос работать правильно? Спасибо.

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