[Oracle] Zeilen mit ungültigen als Text gespeicherte Nummernfolgen ermitteln

Thomas Darimont

Erfahrenes Mitglied
Hallo,

hier mal eine einfache Methode wie man Werte die als Text (varchar/char) abgelegt worden sind und ganzzahlige positive Nummern darstellen sollen auf "gültige" Werte überprüfen kann.

Dazu verwenden wir die regexp_like Funktion von Oracle.

SQL:
CREATE TABLE TEST1
(
 "VALUE" VARCHAR2(20)
)

INSERT INTO test1 VALUES ('1234');
INSERT INTO test1 VALUES ('2345');
INSERT INTO test1 VALUES ('A23A');
INSERT INTO test1 VALUES ('123X');
INSERT INTO test1 VALUES ('5555');
INSERT INTO test1 VALUES ('66 666');
INSERT INTO test1 VALUES ('55.,32\32 ');

SELECT * FROM test1 WHERE NOT REGEXP_LIKE(VALUE,'^[[:digit:]]+$');
-- oder
SELECT * FROM test1 WHERE NOT REGEXP_LIKE(VALUE,'^[0-9]+$');

Ausgabe:
Code:
VALUE              
--------------------
A23A                 
123X                 
66 666               
55.,32\32

Gruß Tom
 

Neue Beiträge

Zurück