php,mysql%在类似查询中搜索
我要查找具有%字符的字符串 例如,当一行的列具有%%时php,mysql%在类似查询中搜索,php,mysql,Php,Mysql,我要查找具有%字符的字符串 例如,当一行的列具有%%时 SELECT * FROM table WHERE column LIKE '%value%'; 如果值为%,则返回全部 如何仅搜索该行?您应该使用反斜杠将其转义 \% 或者您可以将任何转义字符用于: LIKE '%|%%' escape '|' 您可以使用类似的方法来转义PHP中的所有%字符: $original_value = "%%%%%"; $temp = str_split($original_value, 1); $e
SELECT * FROM table WHERE column LIKE '%value%';
如果值为%,则返回全部
如何仅搜索该行?您应该使用反斜杠将其转义
\%
或者您可以将任何转义字符用于:
LIKE '%|%%' escape '|'
您可以使用类似的方法来转义PHP中的所有
%
字符:
$original_value = "%%%%%";
$temp = str_split($original_value, 1);
$escape_value = '\\'.implode('\\', $temp);
echo $escape_value;
结果(转义值):
假设您要查找包含文本“100%”的任何字段,那么您可以将以下查询组合在一起: 方括号逃生: 您可以用方括号将%或u括起来,告诉SQL Server其中的字符是常规字符
SELECT * FROM tablename WHERE fieldname LIKE ‘%100[%]%’
T-SQL转义语法:
或者,您可以将转义运算符附加到查询中,并在要转义的值之前添加\字符
SELECT * FROM tablename WHERE fieldname LIKE ‘%100\%%’ ESCAPE ‘\’
查询的转义“\”部分告诉SQL引擎将\后面的字符解释为文字字符,而不是通配符
最简单的方法是包含我不想要的字符,例如方括号和斜杠:
SELECT * FROM Table
WHERE Name LIKE '%[\]\[/]%' ESCAPE '\'
此链接可能会有所帮助。。可能重复的
SELECT * FROM Table
WHERE Name LIKE '%[\]\[/]%' ESCAPE '\'