Wie DATEDIFF zu benutzen? Wie viele Tage sind innerhalb von zwei Daten
Frage
Wie DATEDIFF benutzen? Wie kann ich dies funktioniert? oder sollte ich DATEDIFF komplett anders?
SELECT DATEDIFF('Started ','will_end') AS 'Duration' FROM my_table WHERE id = '110';
Ich versuche Antwort zu bekommen, wie viele Tage sind innerhalb von zwei Daten.
Ich möchte ein aswer erhalten wie:
Dauer = 7 Tage;
Ich habe diese Art von Datenbank:
Erste | will_end
2009-12-17 | 2009-12-24
2009-12-12 | 2009-12-26
Lösung
Setzen Sie will_end
erste, started
Sekunde:
SELECT DATEDIFF('2009-12-24', '2009-12-17')
---
7
Entfernen Sie auch die einzelnen Zitate aus Feldnamen:
SELECT DATEDIFF(will_end, started) AS Duration
FROM my_table
WHERE id = 110
oder ersetzen sie durch den Backtick:
SELECT DATEDIFF(`will_end`, `started`) AS `Duration`
FROM `my_table`
WHERE `id` = 110
Andere Tipps
Sie sind immer ein NULL
Ergebnis? Sie haben die Spaltennamen in einfache Anführungszeichen in Ihrer Abfrage, was bedeutet, Sie übergeben die Saiten 'Started '
und 'will_end'
zu DATEDIFF
statt der Spaltenwerte. Versuchen Sie, die einfachen Anführungszeichen zu entfernen, und Sie werden beginnen, einige Ergebnisse zu sehen:
SELECT DATEDIFF(Started, will_end) AS Duration FROM my_table WHERE id = '110';
Beachten Sie, dass dies wird Ihnen ein negatives Ergebnis. Um ein positives Ergebnis zu erhalten, in umgekehrter Reihenfolge der Spalten:
SELECT DATEDIFF(will_end, Started) AS Duration FROM my_table WHERE id = '110';
ersetzt den Auftrag
DATEDIFF ( 'will_end', 'Gestartet')
Ich denke, es gibt drei Parameter übergeben werden, in DATEDIFF (Datumsteil, Startdatum, Enddatum)
, damit Ihr Code wäre DATEDIFF (dd, 'Gestartet', 'will_end')