问题描述:mysql数据库多条件查询,假设有字段num、name、date,有数据1234、hello、2017-8-8,实现以下功能的查询语句:
首先,多条件查询,肯定要用到sql的拼接了,判断是输入的参数是否为空,是就不执行,否就执行where 后面的条件。你说的要求三就是,模糊查询。
select * from 表 where num like '%传递的参数%' or name like '%传递的参数%' or date like '%传递的参数%'
模糊查询被 你说的 思路理清了 再做 很简单
select * from 表 where (num like '%传递的参数%' or name like '%传递的参数%' or date like '%传递的参数%')
select *
from Tab
where 。。。。
select * from 表 where (num like '%条件1%' or name like '%条件2%' or date like '%条件3%')
你这个实现得用存储过程或者函数。不过上面的语句写的都有问题,不能用or,不然就会出错
MySQL很久没用了,只能给你个思路
用动态语句declare @sql = 'select * from table where 1=1 '
如果三个条件有不为空的,直接在@sql后面加上' and column like ''%条件%''',column代表你的num、name、date
然后执行这个@sql就行了。
我这是sqlserver的动态语句写法,不过两个应该差不多,应该就是“'”的转义两个有差别