Heim >Datenbank >MySQL-Tutorial >MySQL-Datum und -Uhrzeit

MySQL-Datum und -Uhrzeit

韦小宝
韦小宝Original
2017-12-04 09:36:511995Durchsuche

Am Anfang wird es definitiv viele Studenten geben, die die Erwerbszeit von MySQL nicht verstehen. Heute werden wir ausführlich über die Uhrzeit und das Datum von MySQL sprechen. Für MySQLSchüler, die die Uhrzeit und das Datum nicht kennen, können mehr lesen~

1. Erhalten Sie Datum und Uhrzeit

1,1 Aktuelle Ortszeit und Datum abrufen

SELECT 
    NOW(), 
    CURRENT_TIMESTAMP(), 
    LOCALTIME(), 
    LOCALTIMESTAMP(),
    SYSDATE();

Die oben genannten 5 Funktionen können alle die aktuelle Ortszeit abrufen , aber SYSDATE ist anders.

SELECT NOW(), SLEEP(3), NOW();

Ausführungsergebnis:

NOW()                  sleep(3)     NOW()
2017-11-09 17:21:09    0            2017-11-09 17:21:09

Obwohl es 3 Sekunden lang geschlafen hat, ist die zweimal vor und nach NOW() erhaltene Zeit dieselbe, dh die erhaltene Zeit durch die NOW()-Funktion Die Zeit ist die Zeit, zu der die gesamte SQL-Anweisung ausgeführt wird. Unabhängig davon, wie viele NOW()-Funktionen in der SQL-Anweisung vorhanden sind, ist die erhaltene Zeit dieselbe.

Die Funktionen CURRENT_TIMESTAMP(), LOCALTIME(), LOCALTIMESTAMP() und NOW() sind gleich.

Aber SYSDATE ist anders. Es erhält die Echtzeitzeit, wenn die Funktion SYSDATE() ausgeführt wird:

SELECT SYSDATE(), SLEEP(3), SYSDATE();

Ausführungsergebnis:

SYSDATE()            sleep(3)   SYSDATE()
2017-11-09 17:25:05  0          2017-11-09 17:25:08

1.2 , Holen Sie sich das aktuelle Ortsdatum

SELECT 
    CURDATE(), 
    CURRENT_DATE();

1.3, Holen Sie sich die aktuelle Ortszeit

SELECT 
    CURTIME(), 
    CURRENT_TIME();

1.4, Holen Sie sich die aktuelle UTC-Datum und -Uhrzeit

SELECT 
    UTC_TIMESTAMP();

1.5, Holen Sie sich das aktuelle UTC-Datum

SELECT 
    UTC_DATE();

1.6, Holen Sie sich die aktuelle UTC-Zeit

SELECT 
    UTC_TIME();

1.7. Erhalten Sie den Zeitstempel (verstrichene Sekunden seit 1970)

SELECT UNIX_TIMESTAMP();  -- 当前时间时间戳
SELECT UNIX_TIMESTAMP('2017-11-09 12:30:00');  -- 自1970年到2017-11-09 12:30:00经过的秒数

2. Zeit Vorgang


2.1. Uhrzeit und Datum aus String

SET @dt = '2008-09-10 07:15:30.123456';
SELECT DATE(@dt);        -- 2008-09-10
SELECT TIME(@dt);        -- 07:15:30.123456
SELECT YEAR(@dt);        -- 2008
SELECT QUARTER(@dt);     -- 3
SELECT MONTH(@dt);       -- 9
SELECT WEEK(@dt);        -- 36
SELECT DAY(@dt);         -- 10
SELECT HOUR(@dt);        -- 7
SELECT MINUTE(@dt);      -- 15
SELECT SECOND(@dt);      -- 30
SELECT MICROSECOND(@dt); -- 123456

2.2 extrahieren. Holen Sie sich die Position eines bestimmten Tages in einer Woche, einem Monat oder einem Jahr

SET @dt = '2017-11-09';
SELECT DAYOFWEEK(@dt);   -- 5       星期日为0,5代表星期四
SELECT DAYOFMONTH(@dt);  -- 9       一个月的第9天
SELECT DAYOFYEAR(@dt);   -- 313     2017年的第313天

2.3 Holen Sie sich den letzten Tag des angegebenen Datums

SELECT LAST_DAY('2017-02-05');   -- 2017-02-28

2.4. Zeit addieren und subtrahieren

SET @dt = "2017-11-09 17:10:20.0000001";
SELECT DATE_ADD(@dt, INTERVAL 1 DAY);        -- 加1天
SELECT DATE_ADD(@dt, INTERVAL 2 HOUR);       -- 加2小时
SELECT DATE_ADD(@dt, INTERVAL 1 MINUTE);     -- 加1分钟
SELECT DATE_ADD(@dt, INTERVAL 1 SECOND);
SELECT DATE_ADD(@dt, INTERVAL 1 MICROSECOND); -- 加1微妙
SELECT DATE_ADD(@dt, INTERVAL 1 WEEK);        -- 加1周
SELECT DATE_ADD(@dt, INTERVAL 1 MONTH);
SELECT DATE_ADD(@dt, INTERVAL 1 QUARTER);     -- 加1个季度
SELECT DATE_ADD(@dt, INTERVAL 1 YEAR);
SELECT DATE_ADD(@dt, INTERVAL -1 DAY);       -- 减1天

2.5. Zwei Daten und Zeiten addieren und subtrahieren

SELECT DATEDIFF('2008-08-08', '2008-08-01');  -- 7
SELECT DATEDIFF('2008-08-01', '2008-08-08');  -- -7  第一个参数减去第二个参数
SELECT TIMEDIFF('2008-08-08 08:08:08', '2008-08-08 00:00:00');  -- 08:08:08
SELECT TIMEDIFF('00:00:00', '08:08:08');                        -- -08:08:08

2.6. Zeitformatierung

SELECT DATE_FORMAT('2008-08-08 22:23:00', '%W %M %Y');      -- Friday August 2008
SELECT DATE_FORMAT('2008-08-08 22:23:01', '%Y%m%d%H%i%s');  -- 20080808222301
SELECT TIME_FORMAT('22:23:01', '%H.%i.%s');                 -- 22.23.01

2.7. Zweite Berechnung

计算指定时间折合多少秒,如00:01:00表示1分钟,等于60秒。
SELECT TIME_TO_SEC('01:00:05');  -- 3605
SELECT SEC_TO_TIME(3605);        -- '01:00:05'

Das Obige ist der gesamte Inhalt von MySQL-Datum und -Uhrzeit. Ich hoffe, dass es von Studenten genutzt werden kann.

Verwandte Empfehlungen:

MySQL Grundlegendes Tutorial zur Abfrage der Zeit

MySQL-Zeit- und Datumsabfragemethoden und -funktionen

Die MySQL-Zeitfunktion verwendet PHP-Code für den MySQL-Datenbank-Differenzvergleich

Das obige ist der detaillierte Inhalt vonMySQL-Datum und -Uhrzeit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn