sql server 2000,like 时间字段 的请教
op_date字段格式为"2011-1-111:11:11:11",我的检索语句为:select*fromtablewhereop_datelike'2011-1-1%'...
op_date字段格式为"2011-1-1 11:11:11:11",我的检索语句为:select * from table where op_date like '2011-1-1%',为什么什么也检索不出来,请指点
展开
2个回答
展开全部
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)
你的字段是日期类型还是字符串类型?如果是日期型,那是肯定无法得到结果的。
如果一定要使用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)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询