%
和 _
的解决方案在 SQL 的 LIKE 查询中,%
和 _
是通配符,分别表示任意多个字符和单个字符。如果需要在 LIKE 查询中搜索这些字符本身,需要使用转义机制。
SELECT * FROM table_name
WHERE column_name LIKE '%\%%' ESCAPE '\';
-- 查找包含百分号的内容
SELECT * FROM table_name
WHERE column_name LIKE '%\_%' ESCAPE '\';
-- 查找包含下划线的内容
SELECT * FROM table_name
WHERE column_name LIKE '%[%]%';
-- SQL Server 中查找百分号
SELECT * FROM table_name
WHERE column_name LIKE '%[_]%';
-- SQL Server 中查找下划线
"
双引号在 LIKE 查询中通常不是特殊字符,可以直接使用:
SELECT * FROM table_name
WHERE column_name LIKE '%"%';
-- 查找包含双引号的内容
ESCAPE
子句ESCAPE
或方括号 []
ESCAPE
子句ESCAPE
子句-- 查找包含 "20%" 的字符串
SELECT * FROM products
WHERE description LIKE '%20\%%' ESCAPE '\';
-- 查找包含 "file_" 的字符串
SELECT * FROM documents
WHERE filename LIKE '%file\_%' ESCAPE '\';
通过使用转义字符,您可以精确匹配包含这些特殊字符的文本内容。