如何在sqlserver中的where子句中传递datetime字段的值



嘿,伙计们,我创建了一个存储过程,其中select查询中有datetime字段。这是我查询的

select * from tablename where publishdate like '%03/10/2011%'

这可能吗,或者我应该如何形成查询我的目标是查询应该返回2011年3月10日的记录

使用CONVERT

select * from tablename where convert(varchar(10), publishdate, 103) = '03/10/2011'

尝试

select * from tablename where day(publishdate) = 10 And Month(publishdate) = 3
And Year(publishdate) = 2011 --Let the required date be 10th March 2011

希望得到帮助。

最好的方法是:

Select * 
from   tablename
Where  publishdate >= '20110310'
       and publishdate < '20110311'

通过像这样分离条件,您允许SQL Server在publishdate列上使用索引(如果存在索引)。我展示的查询将使用超快的索引搜索而不是扫描,从而获得更好的性能。

相关内容

  • 没有找到相关文章

最新更新