L'esempio seguente restituisce tutte le righe che contengono almeno una cifra numerica in Oracle Database.
Dati di esempio
Supponiamo di avere una tabella chiamata Products
con i seguenti dati nel suo ProductName
colonna:
SELECT ProductName
FROM Products;
Risultato:
Left Handed Screwdriver Right Handed Screwdriver Bottomless Coffee Cup (4 pack) Urban Dictionary Version 2.3 Beer Water 10 Songs
Richiesta di esempio
Possiamo utilizzare la seguente query per restituire solo quelle righe che contengono numeri:
SELECT ProductName
FROM Products
WHERE REGEXP_LIKE(ProductName, '[0-9]+');
Risultato:
Bottomless Coffee Cup (4 pack) Urban Dictionary Version 2.3 10 Songs
Vengono restituite solo le righe che contengono numeri. Per "numeri", intendo cifre numeriche. I numeri possono anche essere rappresentati da parole o simboli, ma questo esempio rileva solo cifre numeriche.
In Oracle, il REGEXP_LIKE
condizione è conforme allo standard delle espressioni regolari POSIX. Pertanto, possiamo ottenere lo stesso risultato con il seguente schema:
SELECT ProductName
FROM Products
WHERE REGEXP_LIKE(ProductName, '[[:digit:]]');
Risultato:
Bottomless Coffee Cup (4 pack) Urban Dictionary Version 2.3 10 Songs