Corrispondenza di modelli nelle query SQL

Utilizzo di caratteri jolly per corrispondenze inesatte

La corrispondenza dei modelli SQL consente di cercare modelli nei dati se non si conosce la parola o la frase esatta che si sta cercando. Questo tipo di SQL query utilizza caratteri jolly per corrispondere a un modello, anziché specificarlo esattamente. Ad esempio, puoi utilizzare il carattere jolly 'C%' per trovare una corrispondenza con qualsiasi stringa che inizia con una C maiuscola.





Lente d

Kate Ter Haar / Flickr/CC di 2.0

Utilizzando l'operatore LIKE

Per utilizzare un'espressione con caratteri jolly in una query SQL, utilizzare l'operatore LIKE in una clausola WHERE e racchiudere il modello tra virgolette singole.



Utilizzo del carattere jolly % per eseguire una ricerca semplice

Per cercare qualsiasi dipendente nel database con un cognome che inizia con la lettera C, utilizzare la seguente istruzione Transact-SQL:

|_+_|

Omissione di schemi utilizzando la parola chiave NOT

Utilizzare la parola chiave NOT per selezionare i record che non corrispondono al modello. Ad esempio, questa query restituisce tutti i record il cui nome corrisponde all'ultimo non inizia con C:



|_+_|

Abbinamento di un modello ovunque utilizzando il carattere jolly % due volte

Utilizzare due istanze di % carattere jolly per abbinare un modello particolare ovunque. Questo esempio restituisce tutti i record che contengono una C in un punto qualsiasi del cognome:

|_+_|

Trovare una corrispondenza di pattern in una posizione specifica

Utilizzare il _ carattere jolly per restituire i dati in una posizione specifica. Questo esempio corrisponde solo se C compare nella terza posizione della colonna del cognome:

|_+_|

Espressioni jolly supportate in Transact SQL

Esistono diverse espressioni jolly supportate da Transact SQL:

  • Il % il carattere jolly corrisponde a zero o più caratteri di qualsiasi tipo e può essere utilizzato per definire i caratteri jolly sia prima che dopo il modello. Se hai familiarità con la corrispondenza dei modelli DOS, è l'equivalente del carattere jolly * in quella sintassi.
  • Il _ il carattere jolly corrisponde esattamente a un carattere di qualsiasi tipo. È l'equivalente di ? carattere jolly nella corrispondenza del modello DOS.
  • Specificare un elenco di caratteri racchiudendoli tra parentesi quadre. Ad esempio, il carattere jolly [credito] corrisponde a qualsiasi vocale.
  • Specificare un intervallo di caratteri racchiudendolo tra parentesi quadre. Ad esempio, il carattere jolly [sono] corrisponde a qualsiasi lettera nella prima metà dell'alfabeto.
  • Annulla un intervallo di caratteri includendo il carattere in carati immediatamente all'interno della parentesi quadra di apertura. Per esempio, [^io] corrisponde a qualsiasi carattere non vocale while [^am] corrisponde a qualsiasi carattere non nella prima metà dell'alfabeto.

Combinazione di caratteri jolly per modelli complessi

Combina questi caratteri jolly in modelli complessi per eseguire query più avanzate. Ad esempio, supponiamo di dover costruire un elenco di tutti i dipendenti che hanno nomi che iniziano con una lettera della prima metà dell'alfabeto ma non terminare con una vocale. Potresti usare la seguente query:



|_+_|

Allo stesso modo, puoi costruire un elenco di tutti i dipendenti con cognomi composto esattamente da quattro caratteri utilizzando quattro istanze di _ modello:

|_+_|

Come puoi vedere, l'uso delle funzionalità di corrispondenza dei modelli SQL offre agli utenti del database la possibilità di andare oltre le semplici query di testo ed eseguire operazioni di ricerca avanzate.