none
Sostituire null con 0 (zero) RRS feed

  • Domanda

  • Un saluto a tutti.

    Con questo codice, in alcuni casi, vengono restituiti dei campi con valore NULL, come posso sostituire il valore NULL con zero?

    SELECT  TP_ID, CE_ID, ANNO, SEMESTRE, [LIBE] AS VOLUME_ALPI, [ISTI] AS VOLUME_STD FROM   (SELECT TP_ID, CE_ID, ANNO, SEMESTRE, REGIME, VOLUME_STD FROM  dbo.TANazVolumi) AS TMP
    PIVOT
    (SUM(VOLUME_STD) FOR REGIME IN ([LIBE], [ISTI])) AS PIVOTTABLEGrazie e ciao

    Giovanni

    SUM(VOLUME_STD)FORREGIMEIN([LIBE],[ISTI]))ASPIVOTTABLE

    mercoledì 8 ottobre 2014 20:54

Risposte

  • Ciao Giovanni,
    per sostituire il NULL con il numero 0 puoi utilizzare la funzione ISNULL di SQLSERVER ( ISNULL(SUM(......)) ).

    Ho fatto un esempio su sqlfiddle.com (un sito web dove puoi "testare al volo" le tue query) ipotizzando
    una tabella con un campo varchar "Nome" aggiungendo due records: Paolo e Nando.
    Effettuo due query con la funzione SUM: una per vedere in quanti record Nome = Paolo
    e un'altra in quanti Nome = Stefano.
    Chiaramente la seconda anziché darmi NULL mi restituisce (con la funzione ISNULL) il numero 0.
    Qui puoi vedere il mio esempio.
    Per ulteriori dettagli ti segnalo la pagina su MSDN circa la funzione ISNULL.

    Ciao

    Paolo Pranzo

    • Proposto come risposta Fabio Mannis giovedì 9 ottobre 2014 06:47
    • Contrassegnato come risposta giovagava giovedì 9 ottobre 2014 06:55
    mercoledì 8 ottobre 2014 22:53

Tutte le risposte

  • Ciao Giovanni,
    per sostituire il NULL con il numero 0 puoi utilizzare la funzione ISNULL di SQLSERVER ( ISNULL(SUM(......)) ).

    Ho fatto un esempio su sqlfiddle.com (un sito web dove puoi "testare al volo" le tue query) ipotizzando
    una tabella con un campo varchar "Nome" aggiungendo due records: Paolo e Nando.
    Effettuo due query con la funzione SUM: una per vedere in quanti record Nome = Paolo
    e un'altra in quanti Nome = Stefano.
    Chiaramente la seconda anziché darmi NULL mi restituisce (con la funzione ISNULL) il numero 0.
    Qui puoi vedere il mio esempio.
    Per ulteriori dettagli ti segnalo la pagina su MSDN circa la funzione ISNULL.

    Ciao

    Paolo Pranzo

    • Proposto come risposta Fabio Mannis giovedì 9 ottobre 2014 06:47
    • Contrassegnato come risposta giovagava giovedì 9 ottobre 2014 06:55
    mercoledì 8 ottobre 2014 22:53
  • Risolto, il problema non era in se il ISNULL ma dove inserire la dunzione, andando per tentativi ho risolto.

    Grazie e ciao

    Giovanni

    giovedì 9 ottobre 2014 06:55