Trazer valor 0 para quando contador de Data for nulo

16/10/2018

0

Estou contanto determinada informação de uma tabela, e preciso contar por uma data, e necessito que quando não houver o que contar ele me apresente 0. Tentei usar NVL, mas oracle diz que não posso usar o que retorna number para date. Alguém sabe de alguma forma para resolver isso?
Maicon Scapatici

Maicon Scapatici

Responder

Posts

16/10/2018

Alex William

Um "SELECT count()" não te serve pra esse problema?

 SELECT COUNT(*) FROM <nome_tabela> WHERE <campo_data> = '<data>';
Responder

16/10/2018

Maicon Scapatici

O count era o meu problema, ele estava contando certo, mas quando havia dados que não existiam ele deveria me trazer 0, mas não apresentava nada.
Depois de pesquisar em vários foruns e artigos encontrei a solução, usar uma sub-query no NVL dessa forma
 SELECT DISTINCT
NVL((SELECT COUNT(*)
FROM tabela1
WHERE comparações
),0)
FROM tabela1
WHERE comparações
Pois o meu relatório não possuia em determinados casos nada para apresentar, então não havia como ele substituir nada por zero, pois a informação não era nem nula, e dessa forma acima quando não existir nada ele cria como 0. Agradeço a disposição em ajudar.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar