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

Die große Rolle von HTML-Meta

Es gibt zwei Metaattribute: Name und http-equiv. D...

Beispiele für MySQL-Batch-Hinzufügungs- und Speichermethoden

Beim Anmelden am Stresstest sind viele verschiede...

Detaillierte Erklärung der MySQL-Syntax, Sonderzeichen und regulären Ausdrücke

Häufig verwendete Anzeigebefehle für MySQL 1. Zei...

Analyse des Docker-Compose-Image-Release-Prozesses des Springboot-Projekts

Einführung Das Docker-Compose-Projekt ist ein off...

MySQL-Trigger: Beispielanalyse zum Erstellen mehrerer Trigger

Dieser Artikel beschreibt anhand eines Beispiels ...

Erläuterung der MySQL-Leistungsprüfung durch den Befehl „show processlist“

Der Befehl „show processlist“ ist sehr nützlich. ...

So legen Sie den Standardwert für den Datums-/Uhrzeittyp in MySQL fest

Beim Ändern des Standarddatums-/Uhrzeitwerts über...

Fünf Möglichkeiten zum Durchlaufen von Objekten in JavaScript Beispielcode

Inhaltsverzeichnis Vorbereiten Fünf Waffen für … ...

Netzwerkkonfiguration des Host Only+NAT-Modus unter VirtualBox

Die Netzwerkkonfiguration des Host Only+NAT-Modus...

Detaillierte Beschreibung des Anwendungsszenarios für Javascript-Closure

Inhaltsverzeichnis 1. Abschluss 2. Szenarien für ...