Mysql gibt die Methode zur Datumsbereichsextraktion an

Mysql gibt die Methode zur Datumsbereichsextraktion an

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:
  • So verwenden Sie benutzerdefinierte Funktionen zum Extrahieren von Zahlen aus Zeichenfolgen in MySQL

<<:  Schritte zum Aktivieren von TLS in Docker für eine sichere Konfiguration

>>:  Vue erzielt einen nahtlosen Karusselleffekt (Laufschrift)

Artikel empfehlen

JS realisiert den Effekt der Baidu News-Navigationsleiste

In diesem Artikel wird der spezifische JS-Code zu...

Einführung in die Verwendung von Alt- und Titelattributen von HTML-Img-Tags

Wenn Browser-Anbieter die Standards umgehen und ei...

Implementierungsmethode für HTML-Neun-Raster-Layouts

Die Diversifizierung von Website-Layouts ist unse...

Detailliertes Tutorial zur Verwendung des Befehls xargs unter Linux

Hallo zusammen, ich bin Liang Xu. Sind Sie bei de...

Muss MySql ein Commit durchführen?

Ob MySQL bei der Ausführung von Vorgängen wie Ein...

JavaScript-Implementierung des Spiels des Lebens

Inhaltsverzeichnis Konzept-Einführung Logische Re...

Detaillierte Erläuterung der Tomcat-Konfigurations- und Optimierungslösungen

Service.xml Die Konfigurationsdatei Server.xml wi...

uni-app implementiert NFC-Lesefunktion

In diesem Artikel wird der spezifische Code der U...

jQuery-Plugin zur Implementierung des Suchverlaufs

Jeden Tag ein jQuery-Plugin – um einen Suchverlau...