У меня есть таблица истории со столбцом DATETIME. Нельзя ли присвоить переменную в функции DATEDIFF? Следующее утверждение:
SET @LASTDATETIME='2000-01-01 00:00:00';
SELECT DATETIME, @LASTDATETIME, TIMEDIFF(DATETIME, @LASTDATETIME:=DATETIME) AS CALC, @LASTDATETIME FROM HISTORY
приводит к этому результату:
|DATETIME |@LASTDATETIME | CALC | @LASTDATETIME
-------------------------------------------------------------------
2013-01-28 12:11:41 |2000-01-01 00:00:00 |00:00:00 |[BLOB - 19 B]
2013-01-28 12:11:44 |2013-01-28 12:11:41 |00:00:00 |[BLOB - 19 B]
Я не понимаю, почему кажется, что присваивание сработало, поскольку DATETIME переносится в следующую запись, но поле CALC не удалось, и после присваивания значение @LASTDATETIME является BLOB? Почему это не работает, как я ожидаю?
Спасибо за помощь.