sql >> Database teknologi >  >> RDS >> Oracle

SELECT SUM returnerer en række, når der ikke er nogen poster

"Jeg forventede at modtage et "Ingen registreringer fundet", når der ikke var nogen poster, men i stedet modtager jeg et nulresultat."

Så gør

SELECT SUM(dummy) FROM DUAL WHERE 1=2 HAVING COUNT(*) > 0

Det vil sige, angiv, at du kun vil returnere en oversigt, hvor der var rækker, der blev taget i betragtning.

SELECT SUM(dummy) FROM DUAL WHERE 1=2 HAVING SUM(dummy) IS NOT NULL

er ens, men COUNT(*) ville returnere en oversigtsrække, hvis der kun var rækker, for hvilke dummyen var nul, mens sidstnævnte ikke ville.



  1. C# parametriserede forespørgsler til Oracle - alvorlig og farlig fejl!

  2. Sådan finder du navnet på en begrænsning i PostgreSQL

  3. Sådan bestemmes feltværdien, som ikke kan konverteres til (decimal, float,int) i SQL Server

  4. JSON_TYPE() – Få en JSON-værditype i MySQL