Ultimo aggiornamento 02/09/2016
Ciao Vincent, ho necessità di escludere le righe che in un campo di tipo stringa riportino un valore che non sia un numero. Come posso fare?
Grazie, AtaCiao Ata e grazie della domanda. Approfitto per ricordare a tutti che sono raggiungibile via mail, su FB e nelle modalità che ho raccolto in Seguimi
- IsNumeric Visual Basic
- IsNumeric VBScript
- ISNUMERIC MS Excel
Ho visto che puoi utilizzare questa soluzione, oppure potresti eseguire una replace con NULL del valore testuale (laddove fosse individuabile) ed eseguirne la to_number.
SELECT *
FROM [tabella]
WHERE TO_NUMBER(REPLACE([campo],'-',NULL)) IS NOT NULL
Dove [campo] è il valore oggetto della tua verifica.
E [tabella] è la tabella dalla quale stai estraendo il dato nel [campo].
Valuta questa ulteriore soluzione più generalizzata che sfrutta la TRANSLATE.
SELECT
DECODE(replace(translate([campo],'1234567890','##########'),'#'),NULL,'NUMERO','NONNUMERO')
FROM [tabella]
LLAP!
Oracle - Translate - Ripulire testo da caratteri non visibili
Oracle - Limitazioni per l'utilizzo delle sequence
Oracle - Rinominare una tabella
Oracle - char e byte nella dichiarazione di una colonna varchar2
Oracle - Estrarre l'anno da una data con EXTRACT()
Oracle - Cercare testo in colonne CLOB
Oracle - GRANT e REVOKE su tabelle
Oracle - è possibile rinominare un campo?
Oracle - Come rilevare la versione del db di destinazione
Oracle/PLSQL: Test a string for a numeric value EN
Funzione IsNumeric (Visual Basic)
MS Excel: ISNUMERIC Function (VBA) EN
VBScript IsNumeric Function EN
techonthenet.com/ EN
msdn.microsoft.com/
w3schools.com/ EN
community.oracle.com/ EN
stackoverflow.com/ EN
Ho arricchito il post aggiungendo la soluzione che passa per la translate
RispondiElimina