Oracle
 sql >> Database >  >> RDS >> Oracle

Rileva se un valore contiene almeno una cifra numerica in Oracle

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