Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

SELECT SUM retorna uma linha quando não há registros


"Esperava receber um "Nenhum registro encontrado" quando não havia registros, mas estou recebendo um resultado nulo."

Então faça
SELECT SUM(dummy) FROM DUAL WHERE 1=2 HAVING COUNT(*) > 0

Ou seja, especifique que você deseja retornar apenas um resumo onde havia linhas que foram consideradas.
SELECT SUM(dummy) FROM DUAL WHERE 1=2 HAVING SUM(dummy) IS NOT NULL

é semelhante, mas COUNT(*) retornaria uma linha de resumo se houvesse apenas linhas para as quais dummy fosse nulo, enquanto o último não retornaria.