Citat:
Ursprungligen postat av PN
Ja, om man gör en DATEDIFF där 23:50 är före 00:05 går det väl att konstatera att ett dygnskifte är inblandat oavsett datum?
Jag är uppenbarligen trög eller har missat något väsentligt... Jag resettar mig själv och börjar om från början :-)
Citat:
08:15 - 08:30 --> ska ge 15 min
08:30 - 08:15 --> ska ge -15 min
23:50 - 00:05 --> ska ge -15 min
Skämt åsido ska min funktion dels räkna ut tidskillnaden mellan två klockslag där start kan vara senare än end och tvärtom. Därutöver ska samma funktion räkna ut tidskillnaden mellan två klockslag på två olika sidor om ett dygnskifte, t ex att skillnaden mellan 00:05 och 23:50 är 15 minuter och inte över 1300 minuter som jag får i T-SQL.
Jag förutsätter att tredje exemplet ska (som du senare skriver) ska bli 15 minuter och inte -15 minuter.
Hur ska en funktion veta skillnaden mellan variant två och tre? Att det i tredje exemplet är plustid över ett dygnsskifte och inte negativ tid på ett och samma dygn? I min värld blir det 15 min, -15 min och -1425 min som svar.
Eller vill du ha någon mer logik inblandad? Tex att är svaret mindre än -1000 minuter, så ska man plussa på ett dygn (1440 minuter) så man får sitt 15 minuterssvar på sista frågan?
Inte ens om tid 1 alltid var starttid och tid 2 stopptid, så skulle man veta om 08:15 och 08:30 inträffade samma dag, dvs man kan få 15 minuter eller 1455 minuter som svar...
Jag skulle se över datamodellen för den är inte helt optimal iallfall... Lycka till :-)