如果下列任一为真,则 LIKE 或 MATCHES 条件是满足的:
- 在 LIKE 或 MATCHES 关键字前面的列的值与加引号的字符串指定的模式相匹配。您可在字符串中使用通配符。
- 在 LIKE 或 MATCHES 关键字前面的列的值与由跟在 LIKE 或 MATCHES 关键字之后的列指定的模式相匹配。在条件中,右边的列的值作为匹配模式。
下列示例使用反斜线(\)作为缺省的转义字符。通过 DEFAULTESCCHAR 配置参数或 DEFAULTESCCHAR 会话环境选项设置缺省的转义字符。
下列 SELECT 语句返回
customer 表中的其中的
lname 列是以文字字符串
'Baxter' 开头的所有列。由于该字符串为文字字符串,因此该条件区分大小写。
SELECT * FROM customer WHERE lname LIKE 'Baxter%' ;
下一个 SELECT 语句返回
customer 表的其中的
lname 列的值与
fname 列的值相匹配的所有行:
SELECT * FROM customer WHERE lname LIKE fname;
下列示例使用带有通配符的 LIKE 条件。第一个 SELECT 语句找到所有球类的库存项。第二个 SELECT 语句找到包含百分号(%)的所有公司名称。反斜线(
\)用作百分号(%)通配符的缺省的转义字符。第三个 SELECT 语句使用带有 LIKE 条件的 ESCAPE 选项来从
customer 表检索其中的
company 列包含百分号(%)的那些行。
z 用作百分号(%)的转义字符:
SELECT stock_num, manu_code FROM stock
WHERE description LIKE '%ball';
SELECT * FROM customer WHERE company LIKE '%\%%';
SELECT * FROM customer WHERE company LIKE '%z%%' ESCAPE 'z';
下列示例在 SELECT 语句中使用带有通配符的 MATCHES。第一个 SELECT 语句找到所有球类的库存项。第二个 SELECT 语句找到包含星号(
*)的所有公司名称。反斜线(
\)用作文字星号(
*)字符的缺省的转义字符。第三个语句使用带有 MACHES 条件的 ESCAPE 选项来从
customer 表检索其中的
company 列包括星号(
*)的那些行。指定
z 字符作为星号(
*)字符的转义字符。:
SELECT stock_num, manu_code FROM stock
WHERE description MATCHES '*ball';
SELECT * FROM customer WHERE company MATCHES '*\**';
SELECT * FROM customer WHERE company MATCHES '*z**' ESCAPE 'z';
要获取关于 LIKE 或 MATCHES 表达式中支持的运算对象的数据类型的信息,请参阅主题 LIKE 和 MATCHES 条件。