Avatar billede bak Seniormester
20. juni 2007 - 17:45 Der er 5 kommentarer og
1 løsning

Konverter udtryk til sand/falsk

Jeg har et view, der fint returner nogle data til mig.
bla. returneres forskellen mellem to datoer i viewet vha. DateDiff

Nu kunne jeg godt tænke mig også at se kolonne, hvor der kun fremgår om værdien af denne datediff end større end 2.
Det kan jeg ikke få til at fungere.
I Access vil nedenstående give sand eller falsk, men i ms sql kan jeg ikke få det til at fungere.
DATEDIFF(day, tbc.TBC_IKLINIER.DATECONFDISPATCH, tbc.TBC_IKLINIER.SUPPDISPATCHDATE) > 2

Giver denne fejl:
Error in list of function arguments: '>' not recognized.
Missing FROM clause.
Unable to parse query text.
Avatar billede hrc Mester
21. juni 2007 - 09:33 #1
Der er sikkert også muligt med cast eller convert eller coalsec (man kan sgu meget), men jeg sad og legede med dette:

select test = case DATEDIFF(day, tbc.TBC_IKLINIER.DATECONFDISPATCH, tbc.TBC_IKLINIER.SUPPDISPATCHDATE) when 0 then 0 when 1 then 0 when 2 = 0 else 1 end from mytable

Ikke kønt og der tages ikke højde for negative værdier.

Det er nok smartere at lave en funktion der returnerede 0 eller 1 - hvis altså ikke cast kan klare sagen.
Avatar billede hrc Mester
21. juni 2007 - 09:36 #2
Et mere elegant eksempel er her:

select test = case when DATEDIFF(day, tbc.TBC_IKLINIER.DATECONFDISPATCH, tbc.TBC_IKLINIER.SUPPDISPATCHDATE) <= 2 then 0 else 1 end from mytable
Avatar billede bak Seniormester
21. juni 2007 - 14:58 #3
tak hrc, jeg tester imorgen og vender tilbage...
Avatar billede bak Seniormester
03. august 2007 - 23:52 #4
hrc, læg venligst et svar.. din case bragte mig på sporet og jeg lavede så en function.

Beklager den sene respons
Avatar billede hrc Mester
04. august 2007 - 17:58 #5
Godt du kom videre.
Avatar billede bak Seniormester
06. august 2007 - 23:33 #6
takker mange gange :-)
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

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