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

controlla se è una funzione numerica in Oracle

Un'altra idea, menzionata qui, è quella di utilizzare un'espressione regolare per controllare:

SELECT  foo 
FROM    bar
WHERE   REGEXP_LIKE (foo,'^[[:digit:]]+$');

La parte bella è che non hai bisogno di una funzione PL/SQL separata. La parte potenzialmente problematica è che un'espressione regolare potrebbe non essere il metodo più efficiente per un numero elevato di righe.