20. juni 2007 - 17:45Der 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.
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.
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.