я получил ошибку о том, где пункт «X», когда выполнить этот запросСравните две даты внутри, где положение
select top 100 DATEADD(HOUR,10, DateCreated) as X
from y
where X between '2015 -03-31 ' and '2015 -04 -02'
order by DateCreated desc
я получил ошибку о том, где пункт «X», когда выполнить этот запросСравните две даты внутри, где положение
select top 100 DATEADD(HOUR,10, DateCreated) as X
from y
where X between '2015 -03-31 ' and '2015 -04 -02'
order by DateCreated desc
Логический порядок этапов обработки запроса:
Как видите, SELECT
происходит после WHERE
. Таким образом, вы не можете использовать какие-либо псевдонимы вашей части SELECT
в статье WHERE
. Вы можете использовать только псевдонимы в ORDER BY
.
Ваш запрос должен быть таким:
SELECT TOP 100 DATEADD(HOUR, 10, DateCreated) AS X
FROM y
WHERE DATEADD(HOUR, 10, DateCreated) BETWEEN '2015-03-31' AND '2015-04-02'
ORDER BY DateCreated DESC
Кроме того, я предлагаю вам использовать
WHERE DATEADD(HOUR, 10, DateCreated) >= '2015-03-31'
AND DATEADD(HOUR, 10, DateCreated) <= '2015-04-02'
X это имя псевдоним столбца, так что вы не можете использовать его непосредственно в пункте, где.
select top 100 DATEADD(HOUR,10, DateCreated) as X
from Table_1
where DATEADD(HOUR,10, DateCreated) between '2015 -03-31 ' and '2015 -04 -02'
order by DateCreated desc
вы не можете использовать псевдоним в ' WHERE', вы должны использовать полное поле, то есть 'DATEADD (HOUR, 10, DateCreated)' также, mys ql не поддерживает синтаксис стиля «TOP 100», поэтому либо ваши теги ошибочны, либо ваш запрос там тоже неправильный –
Используйте DATEADD (HOUR, 10, DateCreated) в where where вместо X – sayani
okay..i am query table y на сервере db ... когда я выполняю тот же запрос, я получил сообщение об ошибке «Недопустимое имя столбца« X » – makoz