Я использую функцию, которая возвращает разницу между сохраненным временем и NOW()MySQL повторно использовать значение, возвращаемое функцией
Пример:
TIMESTAMPDIFF(DAY, NOW(), `stored_time`)
Если я собираюсь использовать возвращаемое значение в одном запросе, таком как:
SELECT `column1`, `column2` TIMESTAMPDIFF(DAY, NOW(), `stored_time`)
FROM `table`
WHERE TIMESTAMPDIFF(DAY, NOW(), `stored_time`) > 2
Есть ли способ повторного использования значения? Я пробовал что-то вроде этого:
SELECT `column1`, `column2` @timediff = TIMESTAMPDIFF(DAY, NOW(), `stored_time`)
FROM `table`
WHERE @timediff > 2
Но это не сработает. Я ничего не знаю о переменных MySQL. Как я могу это решить?
'ВЫБОР column1, Столбец2, @timediff: = TIMESTAMPDIFF (день, сейчас(), stored_time)' (разделенные и ободочной кишки добавляется). Стандарт SQL действительно требует повторения выражения столбца в условии where. Или другая конструкция. –
Итак, я не могу сделать то, что хочу достичь? Я в порядке. Я просто хочу знать, могу ли я сделать это более эффективно: D – userx01
Общие подвыражения будут выполняться разумно. –