Ale*_*lex 1 sql t-sql sql-server date
SELECT * from [TableName]
WHERE
convert(varchar, News.PublishDate , 14)
BETWEEN convert(varchar, @SearchStringDate, 14)
AND (DATE_ADD((convert(varchar, @SearchStringDate, 14)), INTERVAL 1 DAY))
Run Code Online (Sandbox Code Playgroud)
'1'附近的语法不正确.
什么是不正确的?怎么解决这个问题?请帮我
此查询将编译:
select *
from News
where
convert(varchar, News.PublishDate , 14)
between convert(varchar, @SearchStringDate, 14)
and dateadd(day, 1, convert(varchar, @SearchStringDate, 14))
Run Code Online (Sandbox Code Playgroud)
但我不知道你想得到什么结果.根据文件,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))
Run Code Online (Sandbox Code Playgroud)
另请注意,我在这里使用的PublishDate是convert...- 而是可以使用此columng上的索引.