现在数据库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位年份。
本文介绍了一种解决SQL中日期字段模糊查询不准确的问题,通过使用CONVERT函数将数据库中的DateTime类型转换为指定格式的字符串,从而实现精确匹配。
3636

被折叠的 条评论
为什么被折叠?



