Pular para o conteúdo
  • Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 16 anos, 6 meses atrás por Avatar photoLeonardo Litz.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #89589
    walterjun
    Participante

      Bom dia,

      estava aqui no trabalho quando executei:

      1* select count(V300201), CASE WHEN V300201 IS NULL THEN 3 END AAAAAA, V300201 from minhaTabela GROUP BY V300201
      SQL> /

      COUNT(V300201) AAAAAA V300201
      ————– ———- ———-
      5077888 1
      0 3
      141699 2

      achei meio estranho aparecer o 3 mas…

      foi então que tentei carregar uma outra tabela com todos os campos NOT NULL, e deu pau dizendo que essa coluna possuia valores nulos 😯 .
      Dei outros selects mas nunca me retornava um valor se quer nulo.

      O que é que deve estar acontecendo ???

      Vlw!!

      #89595
      Avatar photoLeonardo Litz
      Participante

        Walter, quando vc faz um count em uma tabela, mesmo que não exista registros seu resultado será zero (vc esta perguntando ao sistema, quantos registros temos com determinado conteudo: zero)
        Oque acontece é que:

        Se vc especificar uma coluna no count, valores nulos serão desconsiderados.
        Se vc especificar a coluna como * no count, os valores nulos e duplicados são considerados.
        Por isso que esta aparecendo o 3, pois há um valor nulo na sua coluna V300201.

        Vlw Leonardo Litz

      Visualizando 2 posts - 1 até 2 (de 2 do total)
      • Você deve fazer login para responder a este tópico.