sql 模糊匹配字符串like 关于通配符的用法代码举例子
时间: 2023-07-11 14:44:57 浏览: 154
好的,以下是一些 SQL 模糊匹配字符串 `LIKE` 语句中通配符的用法及其对应的示例代码:
1. `%` 表示匹配零个或多个任意字符
```SQL
SELECT * FROM customers WHERE name LIKE 'J%'; -- 匹配以 J 开头的所有名字
```
2. `_` 表示匹配单个任意字符
```SQL
SELECT * FROM customers WHERE name LIKE '_ohn'; -- 匹配名字中第二个字符为 o,第三个字符为 h,第四个字符为 n 的所有名字
```
3. `[]` 表示匹配括号中任意一个字符
```SQL
SELECT * FROM customers WHERE name LIKE '[JM]ohn'; -- 匹配名字中第一个字符为 J 或 M,第二个字符为 o,第三个字符为 h,第四个字符为 n 的所有名字
```
4. `[^]` 表示匹配不在括号中的任意一个字符
```SQL
SELECT * FROM customers WHERE name LIKE '[^JM]ohn'; -- 匹配名字中第一个字符不为 J 或 M,第二个字符为 o,第三个字符为 h,第四个字符为 n 的所有名字
```
希望这些示例代码能对你有所帮助!
相关问题
sql 模糊匹配字符串手机号
在SQL中,我们可以使用LIKE运算符进行模糊匹配字符串手机号。
在手机号中有很多不同的组合,比如+86开头的、13、14、15、16、17、18、19开头的等等。如果我们想要模糊匹配所有手机号,可以使用如下语句:
SELECT * FROM 表名 WHERE 手机号字段 LIKE '%手机匹配内容%';
其中,表名是你要查询的表的名称,手机号字段是你存储手机号的字段名称,手机匹配内容是你想要匹配的具体内容。
需要注意的是,%是通配符,可以匹配任意字符,包括空字符。所以,使用%在LIKE运算符中,表示匹配任意字符的意思。同时,%可以放在匹配内容的前面、后面或者两边,以实现不同的模糊匹配效果。
举个例子,如果我们想要匹配手机号中包含138的记录,我们可以使用以下语句:
SELECT * FROM 表名 WHERE 手机号字段 LIKE '%138%';
这样就可以查询到手机号中包含138的记录。
总结来说,使用SQL的LIKE运算符结合%通配符,我们可以实现对字符串手机号的模糊匹配。
sql 一个字符串三个字段模糊匹配
可以使用 SQL 的 LIKE 运算符和通配符 % 来实现字符串的模糊匹配。假设你有一个包含三个字段的表格,分别是 field1、field2 和 field3,你想要在这三个字段中查找包含特定字符串的记录,可以使用如下 SQL 语句:
```
SELECT * FROM table_name
WHERE field1 LIKE '%search_string%'
OR field2 LIKE '%search_string%'
OR field3 LIKE '%search_string%';
```
其中,search_string 是你要查找的字符串,% 是通配符,表示可以匹配任意字符(包括空字符)。这个语句会返回所有符合条件的记录,其中至少有一个字段包含 search_string。
阅读全文