Come utilizzare Regex nel server SQL con un operatore simile

Come utilizzare Regex nel server SQL con un operatore simile
Le espressioni regolari sono un'abilità fondamentale per chiunque voglia cercare e manipolare le corde. È possibile specificare espressioni precise e complesse usando Regex per trovare e sostituire varie stringhe e motivi. Negli strumenti, come SSM, è possibile specificare i modelli di regex nel trovare cosa e trovare e sostituire le opzioni.

In questa guida, tuttavia, esamineremo come eseguire le query di espressioni regolari in T-SQL usando gli operatori simili e non simili.

Nota: le espressioni regolari sono un argomento completo e non possono essere esaurite in un singolo tutorial. Invece, ci concentreremo sul comando più comandi e utili che puoi utilizzare nelle operazioni di database giornaliere.

In T-SQL, possiamo definire espressioni regolari usando l'operatore simile. L'operatore prenderà l'espressione corrispondente e troverà tutti i modelli di corrispondenza.

Esistono vari tipi di espressioni regolari in SQL Server:

  1. Regex alfabetico
  2. Regex numerico
  3. Personaggio speciale regex
  4. Regex sensibile al caso
  5. Esclusione regex

Facciamo capire come possiamo definire l'espressione regolare in SQL Server.

Esempi di espressioni regolari SQL Server

Facciamo capire come utilizzare espressioni regolari in SQL Server usando esempi pratici. In questo articolo, utilizzeremo il database di esempio SalesDB.

È possibile scaricare il database di esempio dalla seguente risorsa:

Esempio 1

La seguente query di esempio utilizza un'espressione regolare per trovare il nome dei prodotti, a partire dalla lettera L:

Usa SalesDB;
Selezionare il nome dai prodotti in cui nome come '[l]%';

La query precedente dovrebbe trovare i modelli di corrispondenza e restituire il risultato come mostrato:

Esempio 2

Filtriamo per abbinare i prodotti nell'esempio sopra, a partire dalla lettera L. Per filtrare per la prima e la seconda lettere, possiamo fare quanto segue:

Selezionare il nome dai prodotti in cui il nome come '[l] [o]%';

La query dovrebbe restituire i nomi dei prodotti a partire da LO. Il set risultante è mostrato come:

Esempio 3

Per filtrare per oltre due lettere, specificare ogni lettera tra le staffe quadrate come mostrato:

Seleziona il nome dai prodotti in cui il nome come '[l] [o] [c] [k]%';

Il set risultante è mostrato come:

Esempio 4

Supponiamo di voler filtrare per prodotti che corrispondono a una gamma di stringhe specifica. Ad esempio, prodotti che iniziano con caratteri tra L - P:

Selezionare il nome dai prodotti in cui il nome come '[l-p]%';

Il set risultante è come mostrato:

Esempio 5

È inoltre possibile filtrare più condizioni di corrispondenza in una singola query come mostrato:

Selezionare il nome dai prodotti in cui il nome come '[l-p] [a-o]%';

Un set di risultati di esempio è come:

Esempio 6

Supponiamo di voler ottenere prodotti che terminano con un personaggio specifico? In questo caso, è possibile modificare la posizione della percentuale come mostrato:

Selezionare il nome dai prodotti in cui il nome come '%[pe]';

I risultati sono come mostrato:

Esempio 7

Per filtrare per l'avvio e la fine risultante con i caratteri specificati, è possibile eseguire la query come:

Seleziona * da prodotti in cui nome come '[a]%[re]';

La query sopra dovrebbe restituire un set di risultati come:

Esempio 8

Cosa succede se si desidera escludere caratteri specifici dalla query del filtro? Puoi usare il ^ per escludere i personaggi.

Ad esempio, per ottenere tutti i prodotti a partire da tutti gli altri personaggi a parte A alla M, possiamo fare quanto segue:

Seleziona * da prodotti in cui nome come '[^a-m]%';

I risultati dovrebbero escludere la lettera da a m.

Esempio 9

Supponiamo di voler trovare i prodotti in cui il nome contiene un numero? Possiamo eseguire una domanda come mostrato:

Seleziona * da prodotti in cui il nome come '%[0-9]';

Il risultato dovrebbe essere come mostrato:

Nota: è possibile utilizzare l'operatore non simile per negare il risultato dell'espressione regolare.

Conclusione

In questo articolo, hai imparato come utilizzare espressioni regolari su SQL Server utilizzando l'operatore simile. Speriamo che tu abbia trovato questo articolo utile. Scopri altri articoli di suggerimento Linux per suggerimenti e informazioni e puoi saperne di più su Regex nei documenti SQL Server.