Sto cercando qualcosa che funzioni in SQL Server simile al simbolo @
in C# che fa sì che una stringa venga presa come se fosse letterale. Ad esempio:Come uscire da una stringa da utilizzare con l'operatore LIKE in SQL Server?
string text = "abcd\\efg";
Output of text = abcd\efg
string text = @"abcd\\efg";
Output of text = abcd\\efg
Si noti come il @ influenzato la stringa di prendere ogni personaggio così com'è.
Ora non sono sicuro che sia possibile, ma qui è il mio problema e forse c'è un modo migliore per risolvere questo problema. Si consideri la seguente query di base:
SELECT [Name]
FROM [Test]
WHERE [Name] LIKE (@searchText + '%')
Il mio problema è che se hanno messo un %
, _
o qualsiasi altro di quei personaggi speciali che possono influenzare la mia clausola LIKE. Voglio che la partita funzioni come una funzione 'inizia con'. Quindi c'è qualcosa che posso applicare a @searchText per dire prendi questo alla lettera o è possibile trovare una soluzione migliore a cui non sto pensando?
Modifica: Non voglio che la soluzione sia la pulizia lato client. Ho bisogno che questo processo memorizzato funzioni senza fare affidamento sui dati passati in fase di pulizia.
Per evitare confusione, il problema qui è l'escaping di una stringa da utilizzare con l'operatore LIKE. – recursive
Vedi anche: http://stackoverflow.com/questions/439495/tsql-like-escape-clause – recursive
Grazie ricorsivo, aggiornerò il titolo corrispondente. – Kelsey