我想找到包含%character
的字符串例如,当一行的列具有%%%%%,
时SELECT * FROM table WHERE column LIKE '%value%';
如果value为%,则返回all。
如何只搜索该行?
答案 0 :(得分:1)
你应该用反斜杠逃避它......
\%
答案 1 :(得分:1)
或者你可以使用任何转义字符:
LIKE '%|%%' escape '|'
答案 2 :(得分:0)
你可以使用这样的东西来逃避PHP中的所有%
字符:
$original_value = "%%%%%";
$temp = str_split($original_value, 1);
$escape_value = '\\'.implode('\\', $temp);
echo $escape_value;
结果(转义价值):
\%\%\%\%\%
答案 3 :(得分:0)
假设您要查找包含文本“100%”的任何字段,因此您将此查询放在一起:
方形支架逃生:
您可以用方括号括起%或_,告诉SQL Server内部的字符是常规字符。
SELECT * FROM tablename WHERE fieldname LIKE ‘%100[%]%’
T-SQL ESCAPE语法:
或者,您可以将ESCAPE运算符附加到查询中,并在要转义的值之前添加\字符。
SELECT * FROM tablename WHERE fieldname LIKE ‘%100\%%’ ESCAPE ‘\’
查询的ESCAPE'\'部分告诉SQL引擎将\后的字符解释为文字字符而不是通配符。
最简单的方法是包含我不想要的字符,例如方括号和斜线:
SELECT * FROM Table
WHERE Name LIKE '%[\]\[/]%' ESCAPE '\'