REGEXP_LIKE

Restituisce true se la stringa corrisponde all’espressione regolare. Questa funzione è simile al predicato LIKE, tranne che utilizza espressioni regolari piuttosto che la semplice corrispondenza dei caratteri jolly.

la Sintassi

REGEXP_LIKE( string, modello )

Parametri

string

VARCHAR o LONG VARCHAR stringa per la ricerca di un modello di espressione regolare partita. Se la stringa esiste in una colonna__raw__ di una tabella flex o colonnare, lanciare la stringa in unaLONG VARCHAR prima di cercare il modello.

pattern

Una stringa contenente l’espressione regolare da abbinare alla stringa. La sintassi dell’espressione regolare è compatibile con la sintassi dell’espressione regolare Perl 5. Vedere la documentazione delle espressioni regolari Perl per i dettagli.

modifiers

Uno o più caratteri flag di modificare il modo in cui l’espressione regolare rileva nella stringa:

b

il Trattamento di stringhe binarie ottetti, piuttosto che di caratteri UTF-8.

c

Forza la corrispondenza per essere case sensitive (il default).

i

Forza la corrispondenza per essere case insensitive.

m

Tratta la stringa in modo che corrisponda come più righe. Utilizzando questo modificatore, l’inizio della riga (^) e la fine della riga ($) operatori di espressioni regolari corrispondono interruzioni di riga (\n) all’interno della stringa. Senza il modificatorem, gli operatori di inizio e fine riga corrispondono solo all’inizio e alla fine della stringa.

n

Consente all’operatore di espressioni regolari a carattere singolo (.) di corrispondere a una nuova riga (\n). Senza il modificatoren, l’operatore. corrisponde a qualsiasi carattere tranne una nuova riga.

x

Aggiungi commenti alle tue espressioni regolari. L’utilizzo del modificatore x fa sì che la funzione ignori tutti i caratteri di spazio e i commenti senza escape nell’espressione regolare. I commenti iniziano con un carattere hash (#) e terminano con una nuova riga (\n). Tutti gli spazi nell’espressione regolare a cui si desidera corrispondere nelle stringhe devono essere sottoposti a escape con un carattere backslash (\).

Note

Questa funzione funziona su stringhe UTF-8 utilizzando la locale predefinita, anche se la locale è stata impostata su qualcos’altro.

Se si esegue il porting di una query di espressioni regolari da un database Oracle, ricordare che Oracle considera una stringa di lunghezza zero equivalente a NULL, mentre Vertica no.

Esempi

Questo esempio crea una tabella contenente diverse stringhe per dimostrare le espressioni regolari.

Selezionare tutti i record della tabella che contengono la lettera “a”.

=> SELEZIONARE v t DOVE REGEXP_LIKE(v,'a'); v ------ Aaa Aaa abc abc1(4 righe)

Selezionare tutte le righe nella tabella che iniziano con la lettera “a.”

=> SELEZIONA v DA t DOVE REGEXP_LIKE(v,'^a'); v ------ aaa abc abc1(3 righe) 

Seleziona tutte le righe che contengono la sottostringa “aa.”

=> SELEZIONA v DA t DOVE REGEXP_LIKE(v,'aa'); v ----- Aaa aaa(2 righe) 

Seleziona tutte le righe che contengono una cifra.

 = > SELEZIONA v DA t DOVE REGEXP_LIKE(v, '\ d'); v ------ 123 abc1 (2 righe)

Seleziona tutte le righe che contengono la sottostringa “aaa.”

=> SELEZIONA v DA t DOVE REGEXP_LIKE(v,'aaa'); v ----- aaa(1 riga) 

Seleziona tutte le righe che contengono la sottostringa “aaa” usando la corrispondenza senza maiuscolo / minuscolo.

=> SELEZIONARE v t DOVE REGEXP_LIKE(v,'aaa', 'i'); v ----- Aaa Aaa(2 righe)

Selezionare le righe che contengono la sottostringa “a b c”.

=> SELEZIONARE v t DOVE REGEXP_LIKE(v,'a b c'); v - - - (0 righe)

Selezionare le righe che contengono la sottostringa “a b c” ignorando lo spazio all’interno dell’espressione regolare.

=> SELEZIONA v DA t DOVE REGEXP_LIKE(v,'a b c','x'); v ------ abc abc1(2 righe) 

Aggiungi righe multilinea per dimostrare usando il modificatore “m”.

Selezionare le righe che iniziano con la sottostringa “Record” e terminano con la sottostringa ” riga 2.”

 = > SELEZIONARE v da t DOVE REGEXP_LIKE (v, ' ^Record.* riga 2$'); v - - - (0 righe)

Selezionare le righe che iniziano con la sottostringa “Record” e terminano con la sottostringa “linea 2”, trattando più righe come stringhe separate.

Related Posts

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *