Gli esempi seguenti restituiscono solo le righe che non contengono cifre numeriche in una determinata colonna in Oracle Database.
Dati di esempio
Supponiamo di avere una tabella con i seguenti dati:
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
La tabella ProductName utilizza un varchar2
tipo di dati, e quindi contiene dati sui caratteri. Ma può contenere anche cifre numeriche.
Esempio 1 – Regex
Ecco una query che possiamo utilizzare per restituire tutte le righe che non contengono cifre numeriche:
SELECT ProductName
FROM Products
WHERE NOT REGEXP_LIKE(ProductName, '[0-9]+');
Risultato:
Left Handed Screwdriver Right Handed Screwdriver Beer Water
Esempio 2 – POSIX
In Oracle Database, il REGEXP_LIKE
condizione è conforme allo standard delle espressioni regolari POSIX. Pertanto, possiamo ottenere lo stesso risultato con la seguente query:
SELECT ProductName
FROM Products
WHERE NOT REGEXP_LIKE(ProductName, '[[:digit:]]');
Risultato:
Left Handed Screwdriver Right Handed Screwdriver Beer Water