Bei der Datenbankoperation ist der Umgang mit Daten unvermeidlich, z. B. das Zusammenfassen einiger Indikatoren nach Datum, das Zählen des Gesamtbetrags innerhalb eines bestimmten Zeitraums usw. Handelt es sich um ein festes Datum, ist das in Ordnung und Sie können es einfach direkt angeben, in vielen Fällen muss es jedoch an das aktuelle Datum angepasst werden. Beispiel: Daten vom letzten Montag bis zum letzten Sonntag extrahieren, Daten vom letzten Monat extrahieren, Daten der vorherigen N Monate extrahieren. . . Allen diesen Anforderungen ist gemeinsam, dass sie sich an das aktuelle Datum halten! Dann müssen wir zunächst einige Informationen zum aktuellen Datum abrufen, z. B. ob das aktuelle Datum die Nummer dieser Woche oder die Nummer dieses Monats ist usw., und dann können wir mit dem nächsten Schritt fortfahren. 1. Bevor wir den erforderlichen Datumsbereich extrahieren, stellen wir einige häufig verwendete Funktionen vor -- Führen Sie zuerst diesen Satz aus: SET @t = '2018-07-26 11:41:29'; -- Führen Sie diesen Satz noch einmal aus: SELECT DATE(@t) aktuelles Datum, YEAR(@t) Jahr, MONTH(@t) Monat, WEEK(@t) Wochennummer dieses Jahres, DAY(@t) Tagesnummer dieses Monats, HOUR(@t) Stunden, MINUTE(@t) Minuten, SECOND(@t) Sekunden Beim Ausführen ist das Ergebnis wie folgt: 2. Hier sind einige häufig verwendete Datumsadditions- und -subtraktionsfunktionen 1. ADDDATE(Ausdruck, Tage) / SUBDATE(Ausdruck, Tage): Die Funktion ADDDAT hat zwei Parameter. Der erste ist das Basisdatum, also das zu berechnende Datum. Der zweite ist ein Intervallausdruck, beispielsweise: INTERVALL 1 STUNDE, wobei INTERVALL Intervall bedeutet, die mittlere Zahl 1 durch eine beliebige Ganzzahl ersetzt werden kann und die dritte Stunde durch Zeiteinheiten wie Tag/Monat/Jahr ersetzt werden kann. Dasselbe gilt für SUBDATE, mit der Ausnahme, dass es sich um eine Subtraktionsoperation handelt. Die vollständige Verwendung ist wie folgt: SELECT ADDDATE('2018-07-26 11:41:29',INTERVALL 1 STUNDE); SELECT SUBDATE('2018-07-26 11:41:29',INTERVALL 1 STUNDE); 2. DATE_ADD() / DATE_SUB(): Die Verwendung ist dieselbe wie bei ADDDATE(expr, days) / SUBDATE(expr, days). 3. Abfangen von Datumsbereichen Als Nächstes können Sie mithilfe der oben vorgestellten Datumsfunktionen den Datumsbereich abfangen. 1. Letzte Woche -- Extrahieren Sie den Datumsbereich der letzten Woche SELECT CURDATE() NOW, ADDDATE(ADDDATE(DATE_SUB(CURDATE(),INTERVAL WEEKDAY(CURDATE()) + 1 DAY),-6),0) Startdatum, ADDDATE(DATE_SUB(CURDATE(),INTERVAL WEEKDAY(CURDATE()) + 1 DAY),0) fällig bis Datum 2. Letzter Monat - SELECT CURDATE() NOW für letzten Monat, DATE_ADD(DATE_ADD(CURDATE(),INTERVALL -TAG(CURDATE())+1 TAG), INTERVALL -1 MONAT) Startdatum, DATE_ADD(DATE_ADD(CURDATE(),INTERVALL -TAG(CURDATE()) TAG), INTERVALL 0 MONAT) fällig bis Datum 3. Die ersten vier Monate -- Erste vier MonateSELECT CURDATE() NOW, ADDDATE(ADDDATE(CURDATE(),INTERVALL -TAG(CURDATE())+1 TAG), INTERVALL -4 MONAT) Startdatum, DATE_ADD(DATE_ADD(CURDATE(),INTERVALL -TAG(CURDATE()) TAG), INTERVALL 0 MONAT) fällig bis Datum 4. Letzten Donnerstag bis diesen Mittwoch Manchmal werden Statistiken nicht nach natürlichen Wochen erfasst und Sie müssen die Start- und Enddaten einer Woche anpassen. Sie können dies wie folgt tun: SELECT ADDDATE(DATE_SUB(CURDATE(),INTERVAL (WENN(WOCHENTAG(CURDATE())IN(3,4,5,6),WOCHENTAG(CURDATE()),WOCHENTAG(CURDATE())+7 )) + 1 TAG),-3) Startdatum , ADDDATE(DATE_SUB(CURDATE(),INTERVALL (WENN(WOCHENTAG(CURDATE())IN(3,4,5,6),WOCHENTAG(CURDATE()),WOCHENTAG(CURDATE())+7 )) + 1 TAG),3)fällig bis Datum OK, jetzt können Sie Zeit- und Datumsinformationen extrahieren und jedes Intervall abfangen. Zusammenfassen Oben ist die vom Herausgeber eingeführte Methode zum Extrahieren des angegebenen Datumsbereichs in MySQL. Ich hoffe, sie wird allen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Das könnte Sie auch interessieren:
|
<<: Schritte zum Aktivieren von TLS in Docker für eine sichere Konfiguration
>>: Vue erzielt einen nahtlosen Karusselleffekt (Laufschrift)
Inhaltsverzeichnis MySQL Inner Join, Left Join, R...
Der spezifische Code lautet wie folgt: <Stil&g...
1. Verständnis der Übergangsattribute 1. Das Über...
Inhaltsverzeichnis Vorwort: Freundliche Tipps: Va...
In diesem Artikelbeispiel wird der spezifische Co...
1. Voraussetzungen 1. Das Projekt wurde bereitges...
Wenn Sie nach der Installation der Datenbank das ...
Problem: Bei Verwendung von JDBC zur Verbindung m...
1. Links Hypertext-Links sind in HTML sehr wichtig...
Inhaltsverzeichnis I. Überblick 2. pt-archiver Ha...
Als ich MySQL zum ersten Mal auf meiner virtuelle...
Dieser Artikel ist ein integrierter Artikel zum E...
Inhaltsverzeichnis Vorwort 1. GMT Was ist GMT Ges...
<br />Jede Familie hat ihre eigenen Probleme...
Die Kapselung und Verwendung der Vue-Komponente z...