mercoledì 17 luglio 2013

Oracle - esiste una funzione IS NUMERIC in SQL+ ?

Come verificare se il valore restituito da una Query SQL è numerico?
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, Ata
Ciao 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

[se non leggi bene l'articolo vai sul blog http://vincenzomiccolis.blogspot.it/ o sulla versione mobile http://bit.ly/AeHvgL]
Purtroppo non mi sembra vi sia una funzione SQL+ che esegua questo controllo. La funzione esiste invece in altri contesti:
- 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!
Se il post ti piace condividilo su Facebook
Tieni d'occhio questo post e i suoi commenti: iscriviti nella parte destra del blog.
Per qualsiasi dubbio, critica, segnalazione scrivimi a vm_tempbox-perparlarediweb[at]yahoo.it
Ricevi gratuitamente tutti i miei aggiornamenti del blog direttamente dal feed RSS ed in email.
Visita la mia pagina su Facebook e diventa fan. Segui @vincentmiccolis su Twitter dove oltre ai link agli articoli del blog condivido i link delle mie letture in tempo reale.
Istalla la toolbar del blog... è gratis!

Siti consultati:
techonthenet.com/ EN
msdn.microsoft.com/
w3schools.com/ EN
community.oracle.com/ EN
stackoverflow.com/ EN

Per leggere i post con più chiarezza ed un allineamento adattato agli schermi più piccoli di iPhone e smartphone usa la versione mobile. Vai a http://bit.ly/AeHvgL oppure clicca/scansiona il QR code quì sotto.



DISCLAIMER: Il contenuto dei miei articoli è reso disponibile così com'è. Per Parlare di Web non offre alcuna garanzia sui contenuti che sono forniti a solo scopo di intrattenimento e/o didattico con l'obiettivo di fare da spunto di riflessione per il lettore proponendo idee, concetti e recensioni di prodotti e servizi tecnologici. Il blog Per Parlare di Web non si assume alcuna responsabilità per ogni conseguenza dannosa che possa risultare al lettore dall'adozione di indicazioni descritte nei nostri articoli e nelle nostre guide hardware e software.

1 commento:

  1. Ho arricchito il post aggiungendo la soluzione che passa per la translate

    RispondiElimina