MySQL全局模糊查询

在项目开发中,大多数情况向我们对指定的字段进行精确查询或模糊查询,但有时候我们也会通过关键词去匹配数据表中的一个或者多个字段,以此获得想要的列表结果。

目前有如下数据表:

MySQL全局模糊查询_第1张图片

在搜索框中输入查询内容后,比如输入‘n’, 希望可以同时匹配到user_name、email和user_info字段,通过以下方式即可实现:

SELECT 
	a.id as 序号, 
	a.user_name as 人员姓名, 
	a.`password` as 密码, 
	a.email as 邮箱, 
	a.user_info as 人员信息, 
	a.create_time as 创建时间
FROM sys_user as a WHERE CONCAT(a.user_name, a.email, a.user_info) LIKE CONCAT('%', 'n', '%');

查询结果:

MySQL全局模糊查询_第2张图片

如果查询字段中可能存在空值,可以使用IFNULL进行处理。

你可能感兴趣的:(MySQL)