1. Aktuelles Datum wählen Sie DATE_SUB(curdate(),INTERVALL 0 TAG); 2. Das morgige Datum wählen Sie DATE_SUB(curdate(),INTERVALL -1 TAG); 3. Das gestrige Datum wählen Sie DATE_SUB(curdate(),INTERVALL 1 TAG); 4. Letzte Stunde Wählen Sie date_sub (jetzt (), Intervall 1 Stunde); 5. Die nächste Stunde wähle date_sub(jetzt(), Intervall -1 Stunde); 6. Erste 30 Minuten Wählen Sie date_add(jetzt(), Intervall -30 Minuten) 7. Letzte 30 Minuten Wählen Sie date_add(jetzt(), Intervall 30 Minuten) Am Tag erworben: Wählen Sie curdate(); mysql> SELECT curdate(); Das aktuelle Datum abrufen: mysql> jetzt auswählen(); Holen Sie sich den vorherigen Tag: mysql> select date_sub(curdate(),Intervall 1 Tag); Die Zahl in Klammern steht für den Tag vor heute. Wenn Sie auch die letzten Tage mitzählen möchten, ersetzen Sie die '1' in Klammern durch die entsprechende Anzahl an Tagen. Wenn Sie den Monat oder das Jahr berechnen möchten, ändern Sie einfach den Tag in Monat oder Jahr Ermitteln Sie das Jahr des Vortages: mysql> Jahr auswählen (DATE_SUB (CURDATE (), Intervall 1 Tag)); Beispiel der Funktion date_sub(): Heute ist der 20. Mai 2013. date_sub('2012-05-25',Intervall 1 Tag) bedeutet 2012-05-24 1. MySQL erhält die aktuelle Datums- und Uhrzeitfunktion 1.1 Aktuelles Datum + Uhrzeit abrufen (Datum + Uhrzeit) - Funktion: now() mysql> jetzt auswählen(); +---------------------+ Zusätzlich zur Funktion now(), mit der das aktuelle Datum und die aktuelle Uhrzeit abgerufen werden können, verfügt MySQL auch über die folgenden Funktionen: aktueller_Zeitstempel() Diese Datums- und Zeitfunktionen entsprechen now(). Da die Funktion now() kurz und leicht zu merken ist, wird empfohlen, anstelle der oben aufgeführten Funktionen immer now() zu verwenden. 1.2 Aktuelles Datum + Uhrzeit abrufen (Datum + Uhrzeit) Funktion: sysdate() Die Datums- und Uhrzeitfunktion sysdate() ähnelt now(), mit dem Unterschied, dass now() seinen Wert zu Beginn der Ausführung erhält, während sysdate() seinen Wert dynamisch erhält, wenn die Funktion ausgeführt wird. Schauen Sie sich zum Verständnis das folgende Beispiel an: mysql> wähle jetzt(), sleep(3), jetzt(); +---------------------+----------+---------------------+ mysql> wähle sysdate(), sleep(3), sysdate(); +---------------------+----------+---------------------+ Es ist ersichtlich, dass, obwohl die Ruhezeit 3 Sekunden beträgt, die von der Funktion now() erhaltenen Zeitwerte gleich sind; die von der Funktion sysdate() erhaltenen Zeitwerte unterscheiden sich jedoch um 3 Sekunden. Das MySQL-Handbuch beschreibt sysdate() wie folgt: Gibt den Zeitpunkt zurück, zu dem die Funktion ausgeführt wird. sysdate() Datums- und Zeitfunktion, wird im Allgemeinen selten verwendet. 2. Holen Sie sich das aktuelle Datum (Datum) Funktion: curdate() mysql> wähle curdate(); +------------+ Unter diesen sind die folgenden beiden Datumsfunktionen gleichwertig mit curdate(): aktuelles_Datum() 3. Holen Sie sich die aktuelle Zeit (Zeit) Funktion: curtime() mysql> wähle curtime(); +-------------+ Unter diesen sind die folgenden beiden Zeitfunktionen gleichwertig mit curtime(): aktuelle_Zeit() 4. Holen Sie sich die aktuellen UTC-Datums- und Zeitfunktionen: utc_date(), utc_time(), utc_timestamp() mysql> wähle utc_timestamp(), utc_date(), utc_time(), jetzt() +---------------------+------------+------------+---------------------+ Da unser Land in der Zeitzone East 8 liegt, ist die Ortszeit = UTC-Zeit + 8 Stunden. Die UTC-Zeit ist sehr nützlich, wenn das Geschäft mehrere Länder und Regionen umfasst. 2. MySQL-Funktion zum Extrahieren von Datum und Uhrzeit. 1. Wählen Sie verschiedene Teile des Datums und der Uhrzeit aus: Datum, Uhrzeit, Jahr, Quartal, Monat, Tag, Stunde, Minute, Sekunde, Mikrosekunde setze @dt = '2008-09-10 07:15:30.123456'; Datum auswählen(@dt); -- 10.09.2008 2. MySQL Extract()-Funktion, die ähnliche Funktionen wie oben ausführen kann: setze @dt = '2008-09-10 07:15:30.123456'; Wählen Sie „Extrahieren (Jahr aus @dt)“ aus. – 2008 Wählen Sie Extrahieren (Jahr_Monat aus @dt); -- 200809 Die MySQL Extract()-Funktion verfügt über alle Funktionen außer date() und time(). Und hat auch die Funktion zur Auswahl von „Tag_Mikrosekunde“ usw. Beachten Sie, dass wir hier nicht nur den Tag und die Mikrosekunde auswählen, sondern den gesamten Tagesteil des Datums bis hin zum Mikrosekundenteil. Das ist stark genug! Der einzige Nachteil der MySQL Extract()-Funktion besteht darin, dass sie ein paar mehr Tastenanschläge erfordert. 3. MySQL-Tag-von...-Funktionen: dayofweek(), dayofmonth(), dayofyear() Gibt die Position des Datumsparameters in der Woche, im Monat bzw. im Jahr zurück. setze @dt = "08.08.2008"; wähle Wochentag(@dt); -- 6 Das Datum „08.08.2008“ ist der 6. Tag der Woche (1 = Sonntag, 2 = Montag, …, 7 = Samstag), der 8. Tag des Monats und der 221. Tag des Jahres. 4. MySQL-Woche ... Funktionen: Woche(), WochedesJahres(), Wochentag(), Wochentag(), Jahrwoche() setze @dt = "08.08.2008"; Woche auswählen(@dt); -- 31 wähle Wochentag(@dt); -- 6 wähle JahrWoche(@dt); -- 200831 Die MySQL-Funktion week() kann zwei Parameter haben, Einzelheiten finden Sie im Handbuch. weekofyear() ist dasselbe wie week(). Beide berechnen die Wochennummer eines Jahres, in der sich ein bestimmter Tag befindet. weekofyear(@dt) entspricht week(@dt,3). Die MySQL-Funktion weekday() ähnelt dayofweek(). Beide geben die Position eines bestimmten Tages in der Woche zurück. Der Unterschied liegt im Bezugsstandard Wochentag: (0 = Montag, 1 = Dienstag, ..., 6 = Sonntag); Wochentag: (1 = Sonntag, 2 = Montag, ..., 7 = Samstag) Die MySQL-Funktion yearweek() gibt das Jahr (2008) + die Wochenposition (31) zurück. 5. MySQL-Funktionen zur Rückgabe des Wochentags- und Monatsnamens: dayname(), monthname() setze @dt = "08.08.2008"; select dayname(@dt); -- Freitag Überlegen Sie, wie Sie den chinesischen Namen zurückgeben können? 6. MySQL last_day()-Funktion: Gibt den letzten Tag des Monats zurück. wähle letzten Tag('2008-02-01'); -- 29.02.2008 Die MySQL-Funktion last_day() ist sehr nützlich. Wenn ich beispielsweise wissen möchte, wie viele Tage der aktuelle Monat hat, kann ich das folgendermaßen berechnen: mysql> wähle jetzt(), Tag(letzter_Tag(jetzt())) als Tage; +---------------------+------+ 3. MySQL-Datums- und Uhrzeitberechnungsfunktionen 1. MySQL fügt einem Datum ein Zeitintervall hinzu: date_add() setze @dt = jetzt(); select date_add(@dt, Intervall 1 Tag); -- 1 Tag hinzufügen Wählen Sie date_add(@dt, Intervall -1 Tag); -- sub 1 Tag Die MySQL-Funktionen adddate() und addtime() können durch date_add() ersetzt werden. Das Folgende ist ein Beispiel für die Implementierung der Funktion addtime() durch date_add(): mysql> setze @dt = '2008-08-09 12:12:33'; MySQL> +------------------------------------------------+ mysql> select date_add(@dt, Intervall '1 01:15:30' Tag_Sekunde); +-------------------------------------------------+ Die Funktion date_add() fügt @dt jeweils „1 Stunde 15 Minuten 30 Sekunden“ und „1 Tag 1 Stunde 15 Minuten 30 Sekunden“ hinzu. Empfehlung: Verwenden Sie immer die Datetime-Funktion date_add() anstelle von adddate() oder addtime(). 2. MySQL subtrahiert ein Zeitintervall von einem Datum: date_sub() mysql> select date_sub('1998-01-01 00:00:00', Intervall '1 1:1:1' Tag_Sekunde); +----------------------------------------------------------------+ Die MySQL-Datums- und Uhrzeitfunktion date_sub() hat dieselbe Verwendung wie date_add(), deshalb werde ich hier nicht ins Detail gehen. Darüber hinaus gibt es in MySQL zwei Funktionen: subdate() und subtime(). Es wird empfohlen, stattdessen date_sub() zu verwenden. 3. Alternative Datumsfunktionen für MySQL: period_add(P,N), period_diff(P1,P2) Das Format des Funktionsparameters „P“ ist „JJJJMM“ oder „JJMM“, und der zweite Parameter „N“ bedeutet das Addieren oder Subtrahieren von N Monaten. MySQL period_add(P,N): N Monate zu einem Datum addieren/subtrahieren. mysql> wähle period_add(200808,2), period_add(20080808,-2) +----------------------+-------------------------+ MySQL period_diff(P1,P2): Datum P1-P2, gibt N Monate zurück. mysql> wähle period_diff(200808, 200801); +-----------------------------+ In MySQL werden diese beiden Datumsfunktionen selten verwendet. 4. MySQL-Datums- und Zeitsubtraktionsfunktionen: datediff(date1,date2), timediff(time1,time2) MySQL datediff(date1,date2): Subtrahieren Sie date1 – date2 von zwei Daten und geben Sie die Anzahl der Tage zurück. Wählen Sie datediff('2008-08-08', '2008-08-01'); -- 7 MySQL timediff(time1, time2): Subtrahieren Sie time1 – time2 von zwei Daten und geben Sie die Zeitdifferenz zurück. Wählen Sie Zeitdifferenz ('2008-08-08 08:08:08', '2008-08-08 00:00:00'); -- 08:08:08 Hinweis: Die beiden Parameter der Funktion timediff(time1, time2) müssen vom gleichen Typ sein. IV. MySQL-Datumskonvertierungsfunktion, Zeitkonvertierungsfunktion 1. MySQL (Zeit, Sekunden) Konvertierungsfunktionen: time_to_sec(Zeit), sec_to_time(Sekunden) wähle Zeit bis zu Sek.('01:00:05'); -- 3605 2. MySQL (Datum, Tag) Konvertierungsfunktionen: to_days(Datum), from_days(Tage) wähle heute('0000-00-00'); -- 0 wähle from_days(0); -- '0000-00-00' 3. MySQL Str to Date (String zu Datum) Funktion: str_to_date(str, Format) Wählen Sie str_to_date('08/09/2008', '%m/%d/%Y'); -- 2008-08-09 Wie Sie sehen, kann die Konvertierungsfunktion str_to_date(str,format) einige unordentliche Zeichenfolgen in das Datumsformat konvertieren. Alternativ kann es in Zeit umgewandelt werden. Informationen zum „Format“ finden Sie im MySQL-Handbuch. 4. MySQL Datum/Uhrzeit in Zeichenfolge (Datum/Uhrzeit in Zeichenfolge umgewandelt) Funktionen: date_format(Datum,Format), time_format(Uhrzeit,Format) mysql> wähle Datumsformat('2008-08-08 22:23:00', '%W %M %Y'); +------------------------------------------------+ mysql> Datumsformat auswählen('2008-08-08 22:23:01', '%Y%m%d%H%i%s'); +----------------------------------------------------+ mysql> wähle Zeitformat('22:23:01', '%H.%i.%s'); +-------------------------------------+ MySQL-Datums- und Zeitkonvertierungsfunktionen: date_format(date,format), time_format(time,format) können ein Datum/eine Uhrzeit in verschiedene Zeichenfolgenformate konvertieren. Es handelt sich um eine inverse Transformation der Funktion str_to_date(str,format). 5. MySQL ruft die Zeitformatfunktion für Länder und Regionen ab: get_format() MySQL get_format()-Syntax: get_format(Datum|Uhrzeit|Datum/Uhrzeit, 'eur'|'usa'|'jis'|'iso'|'intern' Vollständiges Beispiel für die Verwendung von MySQL get_format(): wähle get_format(Datum,'USA'); -- '%m.%d.%Y' Die MySQL-Funktion get_format() wird in der Praxis selten verwendet. 6. MySQL makedate(Jahr,TagdesJahres), maketime(Stunde,Minute,Sekunde) wähle Makedate(2001,31); -- '2001-01-31' wähle maketime(12,15,30); -- '12:15:30' 5. MySQL-Zeitstempelfunktion 1. MySQL ruft den aktuellen Zeitstempel ab: current_timestamp, current_timestamp() mysql> wähle aktuellen_Zeitstempel, aktuellen_Zeitstempel(); +---------------------+---------------------+ 2. MySQL-Konvertierungsfunktion (Unix-Zeitstempel, Datum): unix_timestamp(), Hier ist ein Beispiel: wähle unix_timestamp(); -- 1218290027 Wählen Sie from_unixtime(1218290027); --'2008-08-09 21:53:47' Wählen Sie from_unixtime (1218169800, '%Y %D %M %h:%i:%s %x'); – '8. August 2008, 12:30:00 2008' 3. MySQL-Zeitstempel-Konvertierungs-, Erhöhungs- und Verringerungsfunktionen: Zeitstempel (Datum) – Datum in Zeitstempel umwandeln Siehe den Abschnitt mit den Beispielen: Wählen Sie Zeitstempel ('2008-08-08'); -- 2008-08-08 00:00:00 wähle timestampadd(Tag, 1, '2008-08-08 08:00:00'); -- 2008-08-09 08:00:00 Die MySQL-Funktion timestampadd() ist date_add() ähnlich. wähle Zeitstempeldifferenz(Jahr,'2002-05-01','2001-01-01'); -- -1 Wählen Sie datediff('2008-08-08 12:00:00', '2008-08-01 00:00:00'); -- 7 Die MySQL-Funktion timestampdiff() ist viel leistungsfähiger als datediff(), die nur die Anzahl der Tage zwischen zwei Daten berechnen kann. 6. MySQL-Zeitzonenkonvertierungsfunktion convert_tz(dt,von_tz,nach_tz) Wählen Sie convert_tz('2008-08-08 12:00:00', '+08:00', '+00:00'); -- 2008-08-08 04:00:00 Die Zeitzonenkonvertierung kann auch über date_add, date_sub und timestampadd erfolgen. Wählen Sie date_add('2008-08-08 12:00:00', Intervall -8 Stunde); -- 2008-08-08 04:00:00 Konvertieren nach Zeitstempel WÄHLEN Sie einen FROM-Test, WHERE (UNIX_TIMESTAMP (Startzeit) -3600 * 24) > UNIX_TIMESTAMP ('$now') Es gibt zwei Arten von UNIX_TIMESTAMP-Funktionen in MySQL zum Aufrufen 1 Aufruf ohne Parameter: UNIX_TIMESTAMP() Rückgabewert: Die Anzahl der Sekunden von '1970-01-01 00:00:00' bis zur aktuellen Zeit Beispiel: SELECT UNIX_TIMESTAMP() => 1339123415 2 Aufruf mit Parametern: UNIX_TIMESTAMP(date) Wobei date eine DATE-Zeichenfolge, eine DATETIME-Zeichenfolge, ein TIMESTAMP oder eine Zahl im Format YYMMDD oder YYYMMDD der lokalen Zeit sein kann Rückgabewert: Die Anzahl der Sekunden von '1970-01-01 00:00:00' bis zur angegebenen Zeit SELECT UNIX_TIMESTAMP(NOW()) => 1339123415 Hinweis: Der Rückgabewert von NOW() ist ein DATETIME-String-Format. Das könnte Sie auch interessieren:
|
<<: Warum node.js nicht für große Projekte geeignet ist
>>: So bedienen Sie Datei- und Ordnerberechtigungen unter Linux
In diesem Artikelbeispiel wird der spezifische Co...
Ich habe immer das Gefühl, dass Übersetzen und Üb...
In diesem Artikel finden Sie das grafische Tutori...
Beim Arbeiten mit Dateien im Linux-Terminal möcht...
Inhaltsverzeichnis Vorwort WebSocket verwenden Er...
In diesem Artikel finden Sie den spezifischen Cod...
Wenn MySQL DDL-Operationen wie „Alter Table“ ausf...
In diesem Artikelbeispiel wird der spezifische JS...
Inhaltsverzeichnis Auch die Verwendung der integr...
In diesem Artikelbeispiel wird der spezifische Co...
Vor einiger Zeit habe ich einen Blogbeitrag mit d...
Inhaltsverzeichnis Aufbau einer JSX-Umgebung NPM ...
Zum Beispiel: <link rel="stylesheet" ...
Vorwort Während des Vorstellungsgesprächs erwähne...
1. Die ENV-Anweisung im Dockerfile wird verwendet...