Eu preciso obter resultados onde a coluna contém uma string que inclui [ ]
. Quando eu uso LIKE
, ele usa o []
como uma sequência curinga e não funciona como eu preciso.
Por exemplo, desejo pesquisar em uma coluna chamada Address
e obter todos os valores em que a string contém [Sydney]
:
SELECT * FROM Location
WHERE Address LIKE '%[Sydney]%'
Não posso usar CONTAINS()
, porque esta não é uma coluna indexada de texto completo.
Uma opção é usar
ESCAPE
:Claro, você vai querer escolher um caractere que provavelmente não aparecerá nos dados naturalmente, ou isso pode atrapalhar outras pesquisas.
Outra opção é apenas escapar do primeiro caractere incluindo-o em sua própria sequência de escape, por exemplo, neste caso, o final
]
não é considerado parte de nenhuma sequência curinga porque o primeiro é eliminado:Mais uma opção é não usar padrões que suportem curingas ou sequências de curingas. Por exemplo
CHARINDEX
: