Cerca le righe con caratteri speciali in SQL Server

Cerca le righe con caratteri speciali in SQL Server
Cerca le righe con caratteri speciali in SQL Server

Video: Cerca le righe con caratteri speciali in SQL Server

Video: Cerca le righe con caratteri speciali in SQL Server
Video: 🐴 COME SCARICARE CON EMULE 2021 (GUIDA DEFINITIVA) - YouTube 2024, Aprile
Anonim

Durante la risoluzione di un problema di programmazione oggi ho notato che non è possibile utilizzare una ricerca LIKE per colonne di stringhe contenenti caratteri speciali come% o _ senza utilizzare una sintassi speciale. Calcolare il problema richiede solo pochi minuti, ma ricordare la sintassi è sempre più facile se si scrive su di esso.

Quindi sì, questo post è esclusivamente a mio vantaggio. Spero che aiuterà anche qualcun altro.

Diciamo che vuoi trovare tutti i campi che contengono il testo "100%", quindi metti insieme questa domanda:

SELECT * FROM tablename WHERE fieldname LIKE ‘%100%%’

Invece di quello che volevi, otterrai tutte le righe che contengono "100" e le righe che contengono "100%".

Il problema qui è che SQL Server utilizza il segno di percentuale, il carattere di sottolineatura e le parentesi quadre come caratteri speciali. Semplicemente non puoi usarli come caratteri semplici in una query LIKE senza sfuggirli.

Fuga Square Bracket

È possibile circondare% o _ con parentesi quadre per indicare a SQL Server che il carattere all'interno è un carattere normale.

SELECT * FROM tablename WHERE fieldname LIKE ‘%100[%]%’

T-SQL ESCAPE Sintassi

In alternativa, è possibile aggiungere l'operatore ESCAPE alla query e aggiungere un carattere prima del valore che si desidera scappare.

SELECT * FROM tablename WHERE fieldname LIKE ‘%100\%%’ ESCAPE ‘’

La parte ESCAPE '' della query indica al motore SQL di interpretare il carattere dopo come carattere letterale invece che come carattere jolly.

Personalmente trovo il secondo metodo più facile da gestire, e puoi usarlo anche per sfuggire a una parentesi quadra.

Consigliato: