¿Cómo escapo el carácter de subrayado?
Estoy escribiendo algo así como la siguiente cláusula where y quiero poder encontrar entradas reales con _d al final.
Where Username Like '%_d'
sql-server
GateKiller
fuente
fuente
Obviamente, la solución @Lasse es correcta, pero hay otra forma de resolver su problema: el operador T-SQL
LIKE
define el ESCAPE opcional cláusula , que le permite declarar un carácter que escapará al siguiente carácter en el patrón.Para su caso, las siguientes cláusulas WHERE son equivalentes:
fuente
ESCAPE
cláusula es parte del estándar SQL y funcionará en cualquier DBMS, no solo en SQL Server.Estas soluciones tienen mucho sentido. Desafortunadamente, ninguno funcionó para mí como se esperaba. En lugar de tratar de molestarlo, decidí solucionar el problema:
fuente
Esto funcionó para mí, solo usa el escape
'%\_%'
fuente
Ninguno de estos funcionó para mí en SSIS v18.0, por lo que seguiría haciendo algo como esto:
WHERE CHARINDEX('_', thingyoursearching) < 1
... donde estoy tratando de ignorar las cadenas con un guión bajo en ellas. Si quieres encontrar cosas que tienen un guión bajo, solo dale la vuelta:
WHERE CHARINDEX('_', thingyoursearching) > 0
fuente