SQLSERVER用日期做条件查询?详情请进!

来源:百度知道 编辑:UC知道 时间:2024/05/16 12:05:25
现在需要利用日期作为条件来查询数据:如:
select * from message where createTime like '%2009-10-10%'
数据库里有相符的数据,但是并没有查到,是因为我输入连接日期的“-”时,
SQLSERVER并不能识别,所以我查不出数据,这该怎么办呢。

你的Time字段是时间类型,当然不能用Like去和字符串进行匹配

这样就可以:
select * from message where Datediff(d,createTime,'2009-10-10') = 0

select * from message where createTime between '2009-10-10 00:00:00' and '2009-10-10 23:59:59'

还有就是 select * from message where convert(char(10) , createTime , 120) = '2009-10-10''
试试看

将select * from message where createTime like '%2009-10-10%'
改为
select * from message where CAST(createTime as varchar(20)) like '%2009-10-10%'
即可!