Heim > Datenbank > MySQL-Tutorial > MySQL-Abfragetage

MySQL-Abfragetage

王林
Freigeben: 2023-05-23 14:18:08
Original
2648 Leute haben es durchsucht

MySQL-Abfrage für Tage

Bei der Datenbankentwicklung ist es häufig erforderlich, den Zeit- und Datumsunterschied abzufragen, z. B. um die Anzahl der Tage, Stunden, Minuten usw. zwischen zwei Datumsangaben zu berechnen. MySQL bietet einige Funktionen zur Implementierung dieser Funktion, mit denen die Differenz zwischen Uhrzeit und Datum problemlos berechnet werden kann.

1. DATEDIFF-Funktion

DATEDIFF-Funktion gibt die Differenz in Tagen zwischen zwei Daten zurück. Die Syntax lautet wie folgt:

DATEDIFF(date1,date2)
Nach dem Login kopieren

wobei Datum1 und Datum2 zwei Datums- oder Datums-/Uhrzeitwerte sind und die Funktion die Differenz in Tagen zwischen den beiden Datumsangaben zurückgibt. Wenn Datum1 nach Datum2 liegt, ist der Rückgabewert positiv, andernfalls ist der Rückgabewert negativ.

Zum Beispiel:

SELECT DATEDIFF('2019-01-03','2018-12-31'); // 输出3
Nach dem Login kopieren

Fragen Sie den Unterschied in Tagen der Benutzerregistrierung in zwei Tabellen ab:

SELECT DATEDIFF(reg_time,now()) AS days FROM user;
Nach dem Login kopieren

2. TIMESTAMPDIFF-Funktion

TIMESTAMPDIFF-Funktion gibt den Zeitunterschied zwischen zwei Daten zurück. Die Syntax lautet wie folgt:

TIMESTAMPDIFF(unit,start,stop)
Nach dem Login kopieren

wobei Einheit die Einheit zur Berechnung der Zeitdifferenz darstellt, die Sekunden (SEKUNDE), Minuten (MINUTE), Stunden (HOUR), Tage (DAY), Wochen (WEEK), Monate ( MONAT) oder Jahre ( JAHR).

start und stop stellen das Startdatum und das Enddatum dar, bei denen es sich um Datums- oder Datums-/Uhrzeitwerte handeln kann. Die Funktion gibt den Zeitunterschied zwischen zwei Datumsangaben in Einheiten zurück. Wenn Start später als Stopp liegt, ist der Rückgabewert positiv, andernfalls ist der Rückgabewert negativ.

Zum Beispiel:

SELECT TIMESTAMPDIFF(MONTH,'2018-02-28','2018-03-31'); // 输出1
Nach dem Login kopieren

Fragen Sie die Registrierungsdauer des Benutzers ab:

SELECT TIMESTAMPDIFF(DAY,reg_time,now()) AS days FROM user;
Nach dem Login kopieren

3. TIMEDIFF-Funktion

Die TIMEDIFF-Funktion gibt den Zeitunterschied zwischen zwei Zeitpunkten im Format hh:mm:ss zurück. Die Syntax lautet wie folgt:

TIMEDIFF(time1, time2)
Nach dem Login kopieren

wobei time1 und time2 Zeit- oder Zeitdatumswerte sind und die Funktion die Zeitdifferenz zwischen time1 und time2 zurückgibt.

Zum Beispiel:

SELECT TIMEDIFF('18:30:00', '17:00:00'); // 输出01:30:00
Nach dem Login kopieren

Fragen Sie die Lieferzeit einer Bestellung ab:

SELECT TIMEDIFF(end_time,start_time) AS duration FROM order WHERE order_id=123;
Nach dem Login kopieren

IV. TIME_TO_SEC-Funktion und SEC_TO_TIME-Funktion

TIME_TO_SEC-Funktion wandelt den Zeitwert in Sekunden um, die Syntax lautet wie folgt:

TIME_TO_SEC(time)
Nach dem Login kopieren

wobei Zeit ist Zeit oder Zeitdatumswert, die Funktion gibt die Gesamtzahl der Sekunden der Zeit zurück. Die Funktion

SEC_TO_TIME wandelt Sekunden in einen Zeitwert um. Die Syntax lautet wie folgt:

SEC_TO_TIME(seconds)
Nach dem Login kopieren

wobei Sekunden die Anzahl der Sekunden darstellt und die Funktion den entsprechenden Zeitwert zurückgibt.

Zum Beispiel:

SELECT TIME_TO_SEC('01:30:00'); // 输出5400
SELECT SEC_TO_TIME(5400); // 输出01:30:00
Nach dem Login kopieren

5. Zusammenfassung

MySQL bietet mehrere Funktionen zur Berechnung der Zeit- und Datumsdifferenz, die flexibel ausgewählt und je nach Bedarf verwendet werden können. In der tatsächlichen Entwicklung sollten geeignete Berechnungsmethoden basierend auf spezifischen Geschäftsanforderungen ausgewählt werden, um Funktionen besser implementieren zu können.

Das obige ist der detaillierte Inhalt vonMySQL-Abfragetage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage