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 1. Zeigen Sie die Speicher-Eng...
Vorwort Ich habe vor Kurzem MySQL 5.7 installiert...
Schritt 1: Fügen Sie dem primären Domänennamen vo...
Elastic Stack, allgemein bekannt als ELK Stack, i...
Bitte sehen Sie sich den folgenden Screenshot an,...
Über Nginx, eine leistungsstarke, leichte Webserv...
Der Download des Docker-Images hängt oder ist zu ...
1 Überprüfen Sie, ob der Kernel ein Tun-Modul hat...
<br />Wenn Sie sich diesen Titel ansehen, ko...
1. Einleitung Der Befehl Telnet dient zur Anmeldu...
Inhaltsverzeichnis Ideen Hostkonfiguration Konfig...
Inhaltsverzeichnis Fall 1: Fall 2: Fall 3: Um es ...
Hintergrund Als ich heute mit anderen Projektteam...
So lösen Sie das Timeout-Problem, wenn Pip in Lin...
Datenbanksicherung #Grammatik: # mysqldump -h ser...