sql server 2000,like 时间字段 的请教

op_date字段格式为"2011-1-1 11:11:11:11",我的检索语句为:select * from table where op_date like '2011-1-1%',为什么什么也检索不出来,请指点

第1个回答  2011-08-04
like是字符串模糊匹配的关键字。
你的字段是日期类型还是字符串类型?如果是日期型,那是肯定无法得到结果的。
如果一定要使用Like,可以先把日期转成字符串,在使用。
如果不使用like,可以把2011-1-1分别得到这天的开始和结束的两个时间,一个是0点,一个是23点59分59秒,然后使用between and语法。
不管怎么做,转化类型是一定的。
select * from table where convert(varchar(50), op_date, 120) like '2011-1-1%'
或者
select * from table where op_date between convert(datetime, '2011-1-1', 120) and convert(datetime, '2011-1-1 23:59:59', 120)本回答被提问者采纳
第2个回答  2011-08-04
like只能针对字符串进行匹配。
要匹配日期要先把日期转化为字符串:
select convert(varchar(20),op_date,120),
op_date,
*
from table
where convert(varchar(20),op_date,120) like '2011-1-1%'
相似回答