方法一
MySQL在做多字段模糊查询的时候用的语句是
- 1
- 1
concat的 作用是 将多条字段拼成字符串。
结果发现有些条目查询不出来
问题是
concat()中有任何参数是null 则返回为空
解决办法
1、把null的条目让他不是null
2、concat_ws()方法
用法:concat_ws(separator,str1,str2,…)
以separator作为分隔符 拼接后面的参数 成为一个字符串
有null 也无所谓
所以我们把语句改为
- 1
- 1
- 2
就可以查询出所有条目了,有null也ok~
3,在有些框架中用表中的第一种sql会报错,比如hibernate中的sql语句会报错 所以选用第2种方法。
方法二
找出TABLE1中
Column1 满足value1
或者
Column2 满足value2
或者
Column3 满足value3
的纪录
方法四
一般对于对个字段模糊查询的sql写法例如:
这样数据库执行起来效率十分低下,一个两个字段还好,一旦需要模糊查询的字段比较多的时候,问题就会出现,同时,开发人员需要拼接多个like
... where (CustomerName like '%"+TextBox1.Text+"%' or ID like '%"+TextBox1.Text+"%' or CellPhone like '%"+TextBox1.Text+"%')";