Estoy buscando algo que funcione en SQL Server similar al símbolo @
en C# que hace que se tome una cadena ya que es literal. Por ejemplo:¿Cómo escapar de una cadena para usar con el operador LIKE en SQL Server?
string text = "abcd\\efg";
Output of text = abcd\efg
string text = @"abcd\\efg";
Output of text = abcd\\efg
Observe cómo el @ afectó a la cuerda para tomar cada carácter como está.
Ahora no estoy seguro de que esto sea posible, pero este es mi problema y quizás haya una mejor manera de resolverlo. Considere la siguiente consulta básica:
SELECT [Name]
FROM [Test]
WHERE [Name] LIKE (@searchText + '%')
Mi problema es si ponen un %
, _
o cualquier otro de esos caracteres especiales que pueden afectar a mi cláusula similares. Quiero que el partido actúe como una función 'comienza con'. Entonces, ¿hay algo que pueda aplicar al @searchText para decir que tomo esto literalmente o existe una mejor solución en la que no estoy pensando?
Edit: No quiero que la solución sea la limpieza del lado del cliente. Necesito que este proceso almacenado funcione sin depender de los datos que se pasan al limpiarse.
Para evitar confusiones, el problema aquí es escapar de una cadena para usar con el operador LIKE. – recursive
Vea también: http://stackoverflow.com/questions/439495/tsql-like-escape-clause – recursive
Gracias recursivo, voy a actualizar el título para que coincida. – Kelsey