SELECT * from [TableName]
WHERE
convert(varchar, News.PublishDate , 14)
BETWEEN convert(varchar, @SearchStringDate, 14)
AND (DATE_ADD((convert(varchar, @SearchStringDate, 14)), INTERVAL 1 DAY))
'1' 附近的语法不正确。
什么不正确?如何解决问题?请帮我
SELECT * from [TableName]
WHERE
convert(varchar, News.PublishDate , 14)
BETWEEN convert(varchar, @SearchStringDate, 14)
AND (DATE_ADD((convert(varchar, @SearchStringDate, 14)), INTERVAL 1 DAY))
'1' 附近的语法不正确。
什么不正确?如何解决问题?请帮我
此查询将编译:
select *
from News
where
convert(varchar, News.PublishDate , 14)
between convert(varchar, @SearchStringDate, 14)
and dateadd(day, 1, convert(varchar, @SearchStringDate, 14))
但我不知道你想要得到什么结果。根据文档,14 是'hh:mi:ss:mmm'
格式。如果你想获取某个日期的记录,试试这个(不知道你@SearchStringDate
是什么格式,最好convert
用合适的格式):
select *
from News
where
News.PublishDate >= cast(@SearchStringDate as date) and
News.PublishDate < dateadd(day, 1, cast(@SearchStringDate as date))
另请注意,我在这里使用PublishDate
而不是convert...
- 因此可以使用此列上的索引。