Nån som vet varför minutskillnaden på denna blir 1?
SELECT DATEDIFF(mi,'2004-04-22 12:00:59','2004-04-22 12:01:00')
när det borde vara 0.
nån som vet hur man ska få det rätt?
12 svar · 328 visningar · startad av Nöff
Nån som vet varför minutskillnaden på denna blir 1?
SELECT DATEDIFF(mi,'2004-04-22 12:00:59','2004-04-22 12:01:00')
när det borde vara 0.
nån som vet hur man ska få det rätt?
Jag skulle gissa på att det är så datediff fungerar. Det är en minuts skillnad mellan klockan 12:00 och klockan 12:01.
Men det är ju inte en minuts skillnad mellan 12:00:59 och 12:01:00 ;)
nån som vet varför den ger 1 minut ändå?
Nej, men det beror på hur funktionen är skriven, och det vet inte jag.
Jag vill minnas att det är så här DateDiff() fungerar i VB i alla fall, att den struntar i alla enheter som är mindre än den man vill jämföra på.
Mvh
Hmm, Men hur ska man skriva en funktion som returnerar korrekt antal minuter mellan 2 datum då måntro?, eftersom datediff inte är akkuratt
select (timestampValue1 - timestampValue2) hour(4) to second from t
uuh, hur använder man denna, om jag vill att den returnerar minuter?.
testade:
select ('2004-04-22 12:00:59' - '2004-04-22 12:01:00') hour(4) to minutes
funkade inte riktigt..
Du får räkna i sekunder och dela med 60.
hmm men jag får SQL fel "Incorrect syntax near '4'. "
:(
Glöm det där med intervall, det fungerar inte i SQL server.
hmm, men jag undrar hur man löser det. är inne på en sådan här nätt liten SQL sats :)
SELECT ROUND(CONVERT(float,CAST('2004-04-22 13:02:00' AS DATETIME) - CAST('2004-04-22 13:01:59' AS DATETIME))*100000,0)
men jag undrar om den kommer funka någe bra, känns inte som en riktigt bra lösning.
SELECT datediff(second,'2004-04-22 13:01:59',
'2004-04-22 13:02:00' )/60
Fint lars, kom på denna precis samtidigt :
SELECT DATEDIFF(ss,'2004-04-22 12:00:59','2004-04-22 12:01:59')/60 :)