webForumDet fria alternativet

Jämföra datum och returnera flagga???

Databaser & SQL

6 svar · 244 visningar · startad av anhel96

Medlem sedan dec. 2000124 inlägg
Frågan#1

Jag vill jämföra två datum i en databas och returnera 'YES' om differensen (antal dagar) mellan dessa datum är mindre än 4, annars skall 'NO' returneras. Anledning till detta är att det ska användas för att avgöra om kundorder är levererade i tid eller inte. I tid menas med alla order som levererats på utlovat leveransdatum eller senast 3 dagar efter.
Ex)
Order, utlovat lev.datum, lev.datum, diff, returnera:
1111,2001-05-05,2001-05-05,0,YES
1112,2001-05-10,2001-05-12,2,YES
1113,2001-05-15,2001-05-10,-5,YES
1114,2001-05-07,2001-05-10,3,NO
1114,2001-05-08,2001-05-15,7,NO

Kan inte få rätt på detta. HJÄLP!!

Medlem sedan dec. 200012 464 inlägg
#2

Det blir lite olika, beroende på vilken dbms du har

Access


select orderId, iif(datediff('d',utlovat,lev) < 4,'YES','NO')
from orders

sql server


select orderId, case when datediff(day,utlovat,lev) < 4 then 'YES' else 'NO' end from orders

ANSI-kompatibel dbms

select orderId, case when (lev - utlovat) day < 4 then 'YES' else 'NO' end from orders

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 17 maj 2001]

Medlem sedan dec. 2000124 inlägg
#3

Jag får det inte att fungera i Access.
Vad betyder 'd'? Ska där stå något annat?
Syntaxfel i FROM-instruktion.
Ska det vara iif?

Medlem sedan dec. 2000124 inlägg
#4

Jo förresten, nu funkar det, ...sorry.

Medlem sedan dec. 2000124 inlägg
#5

Hur gör jag för att få detta att fungera för ODBC för Oracle??
Inga av ovanstående alternativ verkar fungera här.

Medlem sedan dec. 200012 464 inlägg
#6

oracle:


select orderid,decode(sign(round(leverans-utlovat) - 4),1,'NO','YES')
from orders

------------------
essentitia preter non sans multiplicandum

Medlem sedan juni 200032 967 inlägg
#7

det här är ju helt sanslöst!

LarsG is king! :D

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
nobody expects the spanish inquisition!</A>

258 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
115 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)