¿Cómo puedo escapar de los corchetes en una cláusula LIKE?
Estoy intentando filtrar elementos con un procedimiento almacenado usando like . La columna es un varchar(15). Los elementos que intento filtrar tienen corchetes en el nombre.
Por ejemplo: WC[R]S123456
.
Si hago un LIKE 'WC[R]S123456'
no me devolverá nada.
Encontré información sobre el uso de la ESCAPE
palabra clave with LIKE
, pero ¿cómo puedo usarla para tratar los corchetes como una cadena normal?
LIKE 'WC[[]R]S123456'
o
LIKE 'WC\[R]S123456' ESCAPE '\'
Deberia trabajar.
Digamos que quieres hacer coincidir el literal its[brac]et
.
No es necesario escapar de ya ]
que tiene un significado especial sólo cuando se combina con [
.
Por lo tanto, escapar [
es suficiente para resolver el problema. Puedes escapar [
reemplazándolo con [[]
.
Necesitaba excluir de una consulta los nombres que comenzaban con un guión bajo, así que terminé con esto:
WHERE b.[name] not like '\_%' escape '\' -- use \ as the escape character
Esto es lo que realmente usé:
like 'WC![R]S123456' ESCAPE '!'