在where子句中加倍%%?

JAn*_*son 4 t-sql database sql-server

我有一个像下面例子的where子句:

WHERE (subject LIKE 'chef%') AND (dep LIKE 'psy%%')
Run Code Online (Sandbox Code Playgroud)

使用1%或2%的标志有什么区别?我知道一个人的意思(外卡),但不知道第二个增加的功能.

mel*_*ode 6

该查询可能是一个错字; 在你给出的例子中,放一个%%没有任何作用,因为两个%之间没有非通配符.

如果要搜索实际的%字符,可以使用转义.


akh*_*mar 5

双 '%' 的用法主要用于指定它们之间不存在通配符。然而,它也用于在搜索查询中使用实际的 '%',这称为转义。

使用 '%' 转义看起来像

SELECT name FROM emp 
   WHERE id LIKE '%\%%' ESCAPE '\'
Run Code Online (Sandbox Code Playgroud)

有关转义的更多详细信息转义