如何通过通配符使用SQL "LIKE"运算符?

How to use SQL "LIKE" operator by using wildcard?

我目前无法在 table“%2”或“%20”中查找包含以下数据的所有行。

例如:'Susan rides%2bike across town'.

SELECT * FROM [my_table] WHERE [description] LIKE % %2 %

我知道这个例子行不通,但是有没有办法使用 SQL“LIKE”运算符搜索这些值“%2”或“%20”?因为我需要找到并用白色 space.

替换它们

谢谢你。

SELECT * FROM [my_table] WHERE [description] LIKE '%[%]2%'
SELECT * FROM my_table WHERE description LIKE '%\%2%' ESCAPE '\';

对于 LIKE 关键字,您可以在后面指定 ESCAPE 序列。在此示例中,前导反斜杠对 % 进行了转义,因此它将被解释为文字值。

在文档中阅读更多相关信息:https://docs.microsoft.com/en-gb/sql/t-sql/language-elements/like-transact-sql?view=sql-server-ver15

你可以在这个SQL Fiddle中测试它。

上述问题的解决方案是

select * from my_table where description like'%[%]2%'