sql 模糊查询客户姓名包含王或者牛或者李或者蔡的人
时间: 2023-08-26 07:24:31 浏览: 33
您可以使用 SQL 的 LIKE 操作符和通配符来进行模糊查询,例如:
```sql
SELECT * FROM customers
WHERE name LIKE '%王%' OR name LIKE '%牛%' OR name LIKE '%李%' OR name LIKE '%蔡%';
```
这个查询将会返回所有客户姓名包含王、牛、李、蔡中任意一个字的记录。其中 `%` 是 SQL 通配符,表示匹配任意字符,包括零个字符。因此 `%王%` 表示匹配包含王字的任意字符串。
相关问题
sql 模糊查询客户姓名包含王或者牛或者李或者蔡,且性别为男的客户
您可以将多个查询条件组合起来,使用 AND 和 OR 运算符来实现多条件查询,例如:
```sql
SELECT * FROM customers
WHERE (name LIKE '%王%' OR name LIKE '%牛%' OR name LIKE '%李%' OR name LIKE '%蔡%')
AND gender = '男';
```
这个查询将会返回所有客户姓名包含王、牛、李、蔡中任意一个字,并且性别为男的记录。其中 AND 运算符表示同时满足两个条件,OR 运算符表示满足其中任意一个条件即可。注意条件要用括号括起来,以确保运算符的优先级正确。
xml 动态sql里 用户信息等于工号或者用户信息模糊查询用户名
在 MyBatis 的动态 SQL 中,可以使用 `<if>` 元素来根据条件动态拼接 SQL 语句。以下是一个实现用户信息等于工号或者用户信息模糊查询用户名的动态 SQL 示例:
```xml
<select id="getUserInfo" parameterType="map" resultType="User">
SELECT * FROM users
WHERE 1 = 1
<if test="user_id != null">
AND user_id = #{user_id}
</if>
<if test="user_name != null">
AND user_name LIKE CONCAT('%', #{user_name}, '%')
</if>
</select>
```
其中,`getUserInfo` 是 SQL 映射语句的 ID,`parameterType` 表示传入参数类型,`resultType` 表示返回结果类型。在 SQL 语句中,`1 = 1` 是为了方便后面的条件拼接,不影响查询结果。`<if>` 元素的 `test` 属性指定条件表达式,如果满足条件则拼接该条件的 SQL 语句。`${user_id}` 和 `${user_name}` 是从传入参数中获取的工号和用户名,可以通过 Map 或实体类来传入。`CONCAT('%', #{user_name}, '%')` 是拼接模糊匹配的字符串,`#{}` 表示占位符,可以防止 SQL 注入。
这样实现的好处是可以根据传入参数动态生成 SQL 语句,提高查询效率和安全性。