大家都知道sql里 “%” 号是用来代替字符串中未知的部分。但是,有时候你也希望LIKE表达式来为含有“%”定位. 比如希望匹配包含"10%"的字符串,有人就会写成:
WHERE column LIKE '% 10% %'
上面的 字符串可以匹配“10% people" ,也可以匹配”100 dollars“等等。这就产生了歧义,也是我们所不希望看到的。然而使我们长舒一口气的是,虽然sql里不提供默认转义通配符, 但是我们可以用ESCAPE子句中反斜杠( / )来转义通配符。如下所示:
SELECT Student_ info
FROM Class
WHERE Student_info LIKE ' % 10/% %' ESCAPE /
这样就可以真正意义上匹配“10%”的字符串了。
WHERE column LIKE '% 10% %'
上面的 字符串可以匹配“10% people" ,也可以匹配”100 dollars“等等。这就产生了歧义,也是我们所不希望看到的。然而使我们长舒一口气的是,虽然sql里不提供默认转义通配符, 但是我们可以用ESCAPE子句中反斜杠( / )来转义通配符。如下所示:
SELECT Student_ info
FROM Class
WHERE Student_info LIKE ' % 10/% %' ESCAPE /
这样就可以真正意义上匹配“10%”的字符串了。