现在数据库users表中有这个joindate字段,DateTime类型
有几个数据比如2005-07-30 2005-07-20
然后查询joindate字段
select * from users where joindate like '%2005%'
可以正常显示
可是当查询
select * from users where joindate like '%2005-07-30%'
没有任何数据,可是里面有2005-07-30数据
解决方法:
select * from users where convert(varchar(10),joindate,121) like '%2005-07-30%'
这样在查询时数据库得到参数后先自动将数据库内的信息转换为yyyy-mm-dd格式的10位字符,只要与参数相同即可返回查询结果.而convert中的121是指将datetime类型转换为char类型时获得包括世纪位数的4位年份。