日期:2014-05-18  浏览次数:20488 次

SQL时间类型(DateTime)模糊查询及Between
在SQL中如果一个字段(AMD) 为DateTime类型,那么查询时

AMD like '%2007-03-02%'就查询不到数据(AMD like '%2007-3-2%'也一样)
AMD between '2007-03-02' and '2007-03-02 23:59:00'也查询不到数据

写入数据时,都格式化成了YYYY-MM-DD HH:MM:SS

只有用CONVERT转换后才能查找到数据,

我想问这个到底是什么原因造成的,越详细越好,

------解决方案--------------------
datediff(d,AMD,'2007-03-02')=0

------解决方案--------------------
SQL code
declare @tb table (amd datetime)
insert into @tb select '2007-03-02'

select * from @tb where AMD between '2007-03-02' and '2007-03-02 23:59:00'