SQL LIKE操作符的语法:
...
where
column | expression [NOT] LIKE pattern [ESCAPE escape_character]
pattern 模式是要在列或表达式中搜索的字符序列。它可以包含以下有效通配符:
- 通配符百分比( % ):任何零个或多个字符的字符串。
- 下划线( _ )通配符:任何单个字符。
- [list of characters] 通配符:指定集合中的任何单个字符。
- [character-character] :指定范围内的任何单个字符。
- [^] :不在列表或范围内的任何单个字符。
- like模糊查询默认是不区分大小写的
通配符使 LIKE 运算符比等于( = )和不等于( != )字符串比较运算符更灵活。
转义符:转义字符指示 LIKE 运算符将通配符视为常规字符。转义字符没有默认值,必须仅计算为一个字 符。
- %(百分比)通配符
查找姓氏( last_name )以字母 z 开头的客户:
SELECT
customer_id,
first_name,
last_name
FROM
sales.customers
WHERE
last_name LIKE 'z%'
ORDER BY
first_name;
返回姓氏( last_name )以字符串 er 结尾的客户信息:
SELECT
customer_id, first_name, last_name
FROM
sales.customers
WHERE
last_name LIKE '%er'
ORDER BY
first_name;
SQL
- _(下划线)通配符
下划线代表单个字符。
例如,以下语句返回第二个字符为字母 u 的客户:
SELECT
customer_id, first_name, last_name
FROM
sales.customers
WHERE
last_name LIKE '_u%'
ORDER BY
first_name;
- [list of characters]通配符
带有字符列表的方括号,例如: [ABC] 表示单个字符,必须是列表中指定的字符之一。 例如,以下查询返回姓氏( last_name )中第一个字符为 Y 或 Z 的客户:
SELECT
customer_id, first_name, last_name
FROM
sales.customers
WHERE
last_name LIKE '[YZ]%'
ORDER BY
last_name;
- [character-character]通配符
具有字符范围的方括号,例如 [A-C] 表示必须在指定范围内的单个字符。
例如,以下查询查找客户,其中姓氏中的第一个字符是范围 A 到 C 中的字母:
SELECT
customer_id, first_name, last_name
FROM
sales.customers
WHERE
last_name LIKE '[A-C]%'
ORDER BY
first_name;
- [^]通配符
插入符号( ^ )后跟范围,例如 [A-C] 或字符列表,例如 [^ABC] 的方括号表示不在指定范围或字符列 表中的单个字符。
例如,以下查询返回姓氏中的第一个字符不是范围 A 到 X 中的字母的客户信息:
SELECT
customer_id, first_name, last_name
FROM
sales.customers
WHERE
last_name LIKE '[^A-X]%'
ORDER BY last_name;
- NOT LIKE运算符 以下示例使用 NOT LIKE 运算符查找名字中第一个字符不是字母 A 的客户:
SELECT
customer_id,
first_name,
last_name
FROM
sales.customers
WHERE
first_name NOT LIKE 'A%'
ORDER BY
first_name;
以上就是我的分享,新手上道,请多多指教。如果有更好的方法或不懂得地方欢迎在评论区教导和提问喔!