sql数据类型为datetime,根据时间模糊查询select * from Table where time like '%2002-02-12%‘ 查不到数

请问怎么回事,要怎么才能根据时间可以实现模糊查询

select * from Table where convert(varchar(20),time) like '%2002-02-12%'追问

不行哦,你测试了吗

追答

你用的是SQLserver数据库吗?我每次都是这样做查询的
要不这样
select * from Table where convert(varchar(20),time,120) like '%2002-02-12%'
一定可以的

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-05
select * from table where convert(varchar(10), time, 120) = '2002-02-12‘追问

你测试了吗,我还是不行,用convert转化吗,请问那time代表的是字段吗

追答

我是看您写的WHERE TIME LIKE的时候写的
TIME就是您的WHERE条件里的那个日期字段。
CONVERT是转化类型的函数,把日期类型转化成字符型,而后边的120是格式要求,10位字符串120格式,就是YYYY-MM-DD这样的格式了。转成这个格式后,也就不需要LIKE了,只要等于那个具体日期也就够用了。
能理解么?把TIME改成你的日期字段名。我的代码是SQLSERVER数据库的代码,因为CONVERT是SQLSERVER的函数,您的是吧?

第2个回答  2011-05-05
应该是前后都有分号的问题
相似回答