08. maj 2002 - 09:14Der er
8 kommentarer og 3 løsninger
Sammeligne datetime i SQL
select * where mydatetimefield = '12-12-2002 12:12:12'
Giver ikke hvad jeg vil ha', da databasen arbejder med milisekunder. Hvad er den pæneste løsning til at få de ønskest rækker? Den skal altså se bort fra milisekunder ob kun sammelign med en præcision ned til sekundtet.
SELECT * FROM tblMMSNyheder WHERE DATEDIFF(ss, Dato, '2002-04-02 14:14:27') <= 1 AND DATEDIFF(ss, Dato, '2002-04-02 14:14:27') >= 0
Eller også:
SELECT * FROM tblMMSNyheder WHERE DAY(Dato) = DAY('2002-04-02 14:14:27') AND MONTH(Dato) = MONTH('2002-04-02 14:14:27') AND YEAR(Dato) = YEAR('2002-04-02 14:14:27') AND DATEPART(n,Dato) = DATEPART(n,'2002-04-02 14:14:27') AND DATEPART(ss,Dato) = DATEPART(ss,'2002-04-02 14:14:27')
select * where Cast(mydatetimefield as smalldatetime) = '12-12-2002 12:12:12' Skulle give det du ønsker. smalldatetime har kun prec. ned til sek. den du mydatetimefield har det ned til 1/1000 del sek (vil jeg gætte på)
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.