Използвам DATEDIFF в SQL израз. Избирам го и трябва да го използвам и в клаузата WHERE. Това твърдение не работи...
SELECT DATEDIFF(ss, BegTime, EndTime) AS InitialSave
FROM MyTable
WHERE InitialSave <= 10
Той дава съобщението: Невалидно име на колона „InitialSave“
Но това твърдение работи добре...
SELECT DATEDIFF(ss, BegTime, EndTime) AS InitialSave
FROM MyTable
WHERE DATEDIFF(ss, BegTime, EndTime) <= 10
Програмистът в мен казва, че това е неефективно (изглежда, че извиквам функцията два пъти).
Така че два въпроса. Защо първото твърдение не работи? Неефективно ли е да го правите с помощта на втория израз?