Avatar billede moller06 Nybegynder
21. september 2005 - 10:23 Der er 5 kommentarer og
1 løsning

check om tal er nul i where-clause

Hej,

jeg har i min where-del nogle forskellige afgrænsninger og én af dem ser således ud:

------------------------------------------------------
-- medtag kun dem som er gentaget i det angivne år - modolus-udregning
and ((DATEDIFF(yy, @year, DVA.BudgetDato))%(ISNULL(DVA.BudgetGentagHver,1))) = 0
------------------------------------------------------

Mit problem er at den DATEDIFF udregning selvfølgelig kan give divide by zero problem. Hvordan kan jeg chekke om den udregning giver 0 og hvis så udskifte tallet med noget andet. Lidt ligesom ISNULL-funktionen??

Håber mit spørgsmål er klart.
Avatar billede ldanielsen Nybegynder
21. september 2005 - 10:37 #1
Du kan bruge CASE, som sætter divisoren til 1 hvis den bliver 0:


... AND (
(DATEDIFF(yy, @year, DVA.BudgetDato))
%
(
CASE
WHEN
ISNULL(DVA.BudgetGentagHver, 1) = 0 THEN 1
ELSE
ISNULL(DVA.BudgetGentagHver, 1)
END
)
) = 0
Avatar billede moller06 Nybegynder
21. september 2005 - 14:31 #2
tak - det var ikke lige der jeg skulle bruge det. Men CASE gjorde det arbejde den skulle .

Så... smid et svar
Avatar billede ldanielsen Nybegynder
21. september 2005 - 14:32 #3
Svar.
Avatar billede ldanielsen Nybegynder
06. oktober 2005 - 08:59 #4
Skal du ikke lukke dette spm.?
Avatar billede moller06 Nybegynder
06. oktober 2005 - 10:28 #5
sjovt at jeg har overset den - sry! :)
Avatar billede ldanielsen Nybegynder
06. oktober 2005 - 11:11 #6
Tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester