immaginavoOriginariamente inviato da Elena78
ho provato a cercare sul manuale oracle case when ma non l'ho trovato![]()
vedo di buttare un occhiatina in giro per vedere la possibile sintassi oracle...ma non ti posso garantire nulla
adesso vedo...
immaginavoOriginariamente inviato da Elena78
ho provato a cercare sul manuale oracle case when ma non l'ho trovato![]()
vedo di buttare un occhiatina in giro per vedere la possibile sintassi oracle...ma non ti posso garantire nulla
adesso vedo...
Originariamente inviato da darkblOOd
immaginavo
vedo di buttare un occhiatina in giro per vedere la possibile sintassi oracle...ma non ti posso garantire nulla
adesso vedo...
fai sempre molto e anche di più Gio'.. non preoccuparti.
Grazie tesorino!!![]()
Abbattiamo il consumismo http://video.google.it/videoplay?do...91301&hl=it
ho trovato un forum in cui dicono che la sintassi CASE WHEN esiste dalla 9i in poi di oracle, per le precedenti dovresti trovare la funzione DECODE. Cerca nel tuo manuale e fammi sapere se trovi qualcosa, io continuo a cercare on-line
dai che risolvi...
.
...and I miss you...like the deserts miss the rain...
von, credo che il problema sia legato al db oracle che non accetta la sintassi del CASE
a me su SQL funzionano entrambi i codici che ho postato. Sto cercando l'equivalente funzione per oracle
AH...ma e' roba oracle...mmmmhhh....:master:Originariamente inviato da darkblOOd
von, credo che il problema sia legato al db oracle che non accetta la sintassi del CASE
a me su SQL funzionano entrambi i codici che ho postato. Sto cercando l'equivalente funzione per oracle
ed eventualmente tirarsi su il record set e poi filtrarlo "a mano"?
...and I miss you...like the deserts miss the rain...
sintassi della DECODE :
DECODE(valore,if1,then1[,if2,then2,if3,then3]...,else)
ora vedo come applicarla...![]()
Abbattiamo il consumismo http://video.google.it/videoplay?do...91301&hl=it
Originariamente inviato da vonkranz
AH...ma e' roba oracle...mmmmhhh....:master:
ed eventualmente tirarsi su il record set e poi filtrarlo "a mano"?
io sto seguendo il post, e lei deve fare la conta di quanti valori corretti (puliti) ci sono per ogni campo.
con la COUNT(CASE(espressione)<> 0 then 0 end) riesco a contare i valori che sono puliti.
La sintassi della DECODE dice più o meno questo:
DECODE(Espressione,Val1,ValDaSost1,Val2,ValDaSost2 ,...)
ho letto che dovrebbe essere la stessa cosa, in effetti la CASE la questo.
Elena, potresti provare così:
codice:COUNT(DECODE(ascii(rtrim(substr(parolasi1,1,1))),0,NULL)
cioè mettere a null i valori sporchi così la count non li legge
prova
:master:Originariamente inviato da darkblOOd
io sto seguendo il post, e lei deve fare la conta di quanti valori corretti (puliti) ci sono per ogni campo.
con la COUNT(CASE(espressione)<> 0 then 0 end) riesco a contare i valori che sono puliti.
La sintassi della DECODE dice più o meno questo:
DECODE(Espressione,Val1,ValDaSost1,Val2,ValDaSost2 ,...)
ho letto che dovrebbe essere la stessa cosa, in effetti la CASE la questo.
Elena, potresti provare così:
codice:COUNT(DECODE(ascii(rtrim(substr(parolasi1,1,1))),0,NULL)
ma il risultato di questa select mi torna ZERO, non mi sembra corretto, o non ho capito io???
cioè mettere a null i valori sporchi così la count non li legge
prova
Abbattiamo il consumismo http://video.google.it/videoplay?do...91301&hl=it
allora, io ho pensato questo:Originariamente inviato da Elena78
:master:
la funzione COUNT non conta i valori NULL;
a te interessa scartare quelli sporchi, come li identifichi? Se il risultato di asci(rtrim(substr(parolasi1,1,1))) e = a zero, vuol dire che stai leggendo un valore sporco, infatti tu prima scartavi quelli verificando che il risultato fosse diverso da 0.
Con la decode ti setti i campi sporchi (cioè quelli la cui funzione ascii ti restituisce 0) uguali a NULL in modo tale che la COUNT non li consideri. Ma è una mia supposizione visto che non posso provare il codice![]()