Datumsfunktionstypen:
(1) Funktion zum Abrufen des aktuellen Datums und Funktion zum Abrufen der aktuellen Uhrzeit
(2) Funktion zum Abrufen des aktuellen Datums und der aktuellen Uhrzeit
(3) UNIX-Zeitstempelfunktion
(4 ) Funktionen, die das UTC-Datum zurückgeben, und Funktionen, die die UTC-Zeit zurückgeben
(5) Funktionen zum Abrufen des Monats Monat(Datum) und Monatsname(Datum)
(6) Funktionen zum Abrufen des Wochentags (Tagesname(d), Wochentag(t)) und Wochentag(d) )
(7) Die Funktionen Woche(d) und TagdesJahres(d), um die Anzahl der Wochen zu ermitteln
(8) Die Funktionen TagdesJahres(d) und TagdesMonats(d), um die Anzahl der Tage zu ermitteln
( 9) Holen Sie sich die Uhrfunktion für Jahr, Viertel, Stunde, Minute und Sekunde.
(10) Funktion zum Abrufen des angegebenen Werts des Datumsextrakts (Typ aus Datum)
(11) Funktion zum Konvertieren von Zeit und Sekunden
(12) Funktion zum Berechnen von Datum und Uhrzeit
(13) Funktion zum Formatieren von Datum und Uhrzeit
(Verwandte kostenlose Lernempfehlungen: MySQL-Video-Tutorial)
1.curdate() und current_date()
[Beispiel] Verwendung der Datumsfunktion Das aktuelle Datum des Systems abrufen
, die SQL-Anweisung lautet wie folgt: 获取系统当前日期
,SQL语句如下:
mysql> select curdate(),current_date(),curdate()+0;+------------+----------------+-------------+| curdate() | current_date() | curdate()+0 |+------------+----------------+-------------+| 2019-08-18 | 2019-08-18 | 20190818 |+------------+----------------+-------------+1 row in set (0.00 sec)
2.curtime()和current_time()
【例】使用时间函数获取系统当前时间
mysql> select curtime(),current_time(),curtime()+0;+-----------+----------------+-------------+| curtime() | current_time() | curtime()+0 |+-----------+----------------+-------------+| 17:08:07 | 17:08:07 | 170807 |+-----------+----------------+-------------+1 row in set (0.00 sec)
, um die aktuelle Zeit des Systems zu erhalten
. Die SQL-Anweisung lautet wie folgt: mysql> select current_timestamp(), -> localtime(), -> now(), -> sysdate();+---------------------+---------------------+---------------------+---------------------+| current_timestamp() | localtime() | now() | sysdate() |+---------------------+---------------------+---------------------+---------------------+| 2019-08-18 19:10:05 | 2019-08-18 19:10:05 | 2019-08-18 19:10:05 | 2019-08-18 19:10:05 |+---------------------+---------------------+---------------------+---------------------+1 row in set (0.05 sec)
(2) Funktionen zum Abrufen des aktuellen Datums und der aktuellen Uhrzeit
mysql> select unix_timestamp(),unix_timestamp(now()),now();+------------------+-----------------------+---------------------+| unix_timestamp() | unix_timestamp(now()) | now() |+------------------+-----------------------+---------------------+| 1566127316 | 1566127316 | 2019-08-18 19:21:56 |+------------------+-----------------------+---------------------+1 row in set (0.05 sec)
unix_timestamp(date) Wenn ohne Parameter aufgerufen, Es gibt einen Unix-Zeitstempel (Anzahl der Sekunden seit GMT, GMT ist 1.1.1970) als vorzeichenlose Ganzzahl zurück.
[Beispiel] Verwenden Sie die Funktion unix_timestamp, um einen Zeitstempel im Unix-Format zurückzugeben. Die SQL-Anweisung lautet wie folgt: Die Funktion
mysql> select from_unixtime('1566127316');+-----------------------------+| from_unixtime('1566127316') |+-----------------------------+| 2019-08-18 19:21:56.000000 |+-----------------------------+1 row in set (0.00 sec)
2.from_unixtime(date)
[Beispiel] Verwenden Sie die Funktion from_unixtime, um Unix-Zeitstempel in normale Formatzeit umzuwandeln. Die SQL-Anweisung lautet wie folgt:
mysql> select utc_date(),utc_date()+0;+------------+--------------+| utc_date() | utc_date()+0 |+------------+--------------+| 2019-08-18 | 20190818 |+------------+--------------+1 row in set (0.05 sec)
(4) Funktion, die UTC-Datum zurückgibt, und Funktion, die UTC zurückgibt Zeit.
mysql> select utc_time(),utc_time()+0;+------------+--------------+| utc_time() | utc_time()+0 |+------------+--------------+| 11:32:27 | 113227 |+------------+--------------+1 row in set (0.00 sec)
2.UTC_TIME()
[Beispiel] Verwenden Sie die Funktion UTC_TIME() Um den aktuellen UTC-Zeitwert zurückzugeben, lautet die SQL-Anweisung wie folgt:
mysql> select month('2019-08-18');+---------------------+| month('2019-08-18') |+---------------------+| 8 |+---------------------+1 row in set (0.00 sec)
(5) Holen Sie sich die Monatsfunktion Monat(Datum) und Monatsname(Datum)
mysql> select monthname('2019-08-18');+-------------------------+| monthname('2019-08-18') |+-------------------------+| August |+-------------------------+1 row in set (0.00 sec)
2.Monatsname(Datum)
[Beispiel] Verwenden Sie die Funktion „Monatsname()“, um den Monatsnamen am angegebenen Datum zurückzugeben Die Anweisung lautet wie folgt:
mysql> select dayname('2019-08-18');+-----------------------+| dayname('2019-08-18') |+-----------------------+| Sunday |+-----------------------+1 row in set (0.00 sec)
(6) Rufen Sie die Funktionen von dayname(d) und dayofweek(d) und Weekday(d) ab
1.dayname(d)
[Beispiel] Verwenden Sie die Funktion dayname(), um zurückzukehren der Wochentagsname des angegebenen Datums. Die SQL-Anweisung lautet wie folgt:mysql> select dayofweek('2019-08-18');+-------------------------+| dayofweek('2019-08-18') |+-------------------------+| 1 |+-------------------------+1 row in set (0.00 sec)
mysql> select weekday('2019-08-18 19:40:00'), -> weekday('2019-08-18');+--------------------------------+-----------------------+| weekday('2019-08-18 19:40:00') | weekday('2019-08-18') |+--------------------------------+-----------------------+| 6 | 6 |+--------------------------------+-----------------------+1 row in set (0.00 sec)
3.weekday(d)
mysql> select week('2019-08-18'),week('2019-08-18',0),week('2019-08-18',1);+--------------------+----------------------+----------------------+| week('2019-08-18') | week('2019-08-18',0) | week('2019-08-18',1) |+--------------------+----------------------+----------------------+| 33 | 33 | 33 |+--------------------+----------------------+----------------------+1 row in set (0.05 sec
(7) Rufen Sie die Funktionen „week(d)“ und „dayofyear(d)“ ab
mysql> select week('2019-08-18',3),weekofyear('2019-08-18');+----------------------+--------------------------+| week('2019-08-18',3) | weekofyear('2019-08-18') |+----------------------+--------------------------+| 33 | 33 |+----------------------+--------------------------+1 row in set (0.05 sec)
[Beispiel ] Verwenden Sieweekofyear( ). Um die Woche des Jahres für ein bestimmtes Datum abzufragen, lautet die SQL-Anweisung wie folgt:
mysql> select dayofyear('2019-08-18');+-------------------------+| dayofyear('2019-08-18') |+-------------------------+| 230 |+-------------------------+1 row in set (0.00 sec)
(8) Rufen Sie die Funktionen dayofyear(d) und dayofmonth(d) ab
mysql> select dayofmonth('2019-08-18');+--------------------------+| dayofmonth('2019-08-18') |+--------------------------+| 18 |+--------------------------+1 row in set (0.00 sec)
[Beispiel] Verwenden Sie die Funktion „dayofmonth()“, um die Position von zurückzugeben das angegebene Datum im Monat. Die SQL-Anweisung lautet wie folgt:
mysql> select year('19-08-18'),year('98-02-19');+------------------+------------------+| year('19-08-18') | year('98-02-19') |+------------------+------------------+| 2019 | 1998 |+------------------+------------------+1 row in set (0.05 sec)
(9) Funktion zum Abrufen von Jahr, Viertel, Stunde, Minute und Sekunde.
[Beispiel] Verwenden Sie die Funktion year(), um das Jahr zurückzugeben, das dem angegebenen Datum entspricht. Die SQL-Anweisung lautet wie folgt:
mysql> select quarter('19-08-18');+---------------------+| quarter('19-08-18') |+---------------------+| 3 |+---------------------+1 row in set (0.00 sec)
[Beispiel] Verwenden Sie die Die Funktion „quartal()“ gibt das Jahr zurück, das dem angegebenen Datum entspricht. Die SQL-Anweisung lautet wie folgt:
mysql> select minute('19-08-18 20:07:00');+-----------------------------+| minute('19-08-18 20:07:00') |+-----------------------------+| 7 |+-----------------------------+1 row in set (0.00 sec)
mysql> select second('20:07:00');+--------------------+| second('20:07:00') |+--------------------+| 0 |+--------------------+1 row in set (0.00 sec)
mysql> select second('20:07:00');+--------------------+| second('20:07:00') |+--------------------+| 0 |+--------------------+1 row in set (0.00 sec)
【例】使用extract(type from date)函数提取日期或时间值。
mysql> select extract(year from '2019-08-18') as col1, -> extract(year_month from '2019-08-18 20:46:01') as col2, -> extract(day_minute from '2019-08-18 20:46:01') as col3;+------+--------+--------+| col1 | col2 | col3 |+------+--------+--------+| 2019 | 201908 | 182046 |+------+--------+--------+1 row in set (0.00 sec)
1.time_to_sec(time)
【例】使用time_to_sec函数将时间值转换为秒值。
mysql> select time_to_sec('20:34:00');+-------------------------+| time_to_sec('20:34:00') |+-------------------------+| 74040 |+-------------------------+1 row in set (0.00 sec)
2.sec_to_time(seconds)
【例】使用sec_to_time()函数将秒值转换为时间格式,SQL语句如下;
mysql> select sec_to_time(2345),sec_to_time(2345)+0, -> time_to_sec('20:36:00'),sec_to_time('74040');+-------------------+---------------------+-------------------------+----------------------+| sec_to_time(2345) | sec_to_time(2345)+0 | time_to_sec('20:36:00') | sec_to_time('74040') |+-------------------+---------------------+-------------------------+----------------------+| 00:39:05 | 3905 | 74160 | 20:34:00.000000 |+-------------------+---------------------+-------------------------+----------------------+1 row in set (0.05 sec)
MySQL中计算日期和时间的格式:
1.date_add(date,interval expr type)
和adddate(date,interval expr type)
两个函数的作用相同,执行日期的加运算:
【例】使用date_add()和adddate()函数执行日期加操作,SQL语句如下:
mysql> select date_add('2019-08-18 23:59:59',interval 1 second) as col1, -> adddate('2019-08-18 23:59:59',interval 1 second) as col2, -> date_add('2019-08-18 23:59:59',interval '1:1' minute_second) as col3;+---------------------+---------------------+---------------------+| col1 | col2 | col3 |+---------------------+---------------------+---------------------+| 2019-08-19 00:00:00 | 2019-08-19 00:00:00 | 2019-08-19 00:01:00 |+---------------------+---------------------+---------------------+1 row in set (0.05 sec)
2.date_sub(date,interval expr type)
和subdate(date,interval expr type)
两个函数作用相同,执行日期的减运算:
【例】使用date_sub和subdate函数执行日期减操作,SQL语句如下:
mysql> select date_sub('2019-08-18',interval 31 day) as col1, -> subdate('2019-08-18',interval 31 day) as col2, -> date_sub('2019-08-18 21:15:10',interval '0 0:1:1' day_second) as col3;+------------+------------+---------------------+| col1 | col2 | col3 |+------------+------------+---------------------+| 2019-07-18 | 2019-07-18 | 2019-08-18 21:14:09 |+------------+------------+---------------------+1 row in set (0.00 sec)
3.addtime(date,expr)
函数将expr值添加到date,并返回修改后的值,date是一个日期或者日期时间表达式,而expr是一个时间表达式。
【例】使用addtime进行时间加操作,SQL语句如下;
mysql> select addtime('2019-08-18 21:59:59','1:1:1'),addtime('02:02:02','02:00:00');+----------------------------------------+--------------------------------+| addtime('2019-08-18 21:59:59','1:1:1') | addtime('02:02:02','02:00:00') |+----------------------------------------+--------------------------------+| 2019-08-18 23:01:00 | 04:02:02 |+----------------------------------------+--------------------------------+1 row in set (0.05 sec)
4.subtime(date,expr)
函数将date减去expr值,并返回修改后的值,date是一个日期或者日期时间表达式,expr是一个时间表达式。
【例】使用subtime()函数执行减操作,SQL语句如下:
mysql> select subtime('2019-08-18 21:59:59','1:1:1'),subtime('02:02:02','02:00:00');+----------------------------------------+--------------------------------+| subtime('2019-08-18 21:59:59','1:1:1') | subtime('02:02:02','02:00:00') |+----------------------------------------+--------------------------------+| 2019-08-18 20:58:58 | 00:02:02 |+----------------------------------------+--------------------------------+1 row in set (0.00 sec)
5.datediff(date1,date2)返回起始时间date1和结束时间date2之间的天数,date1和date2为日期或date-and-time表达式。计算中只用到这些值的日期部分。
【例】使用datediff()函数计算两个日期之间的间隔天数,SQL语句如下;
mysql> select datediff('2019-08-18 21:59:59','2018-07-18') as col1, -> datediff('2019-08-18 22:00:00','2019-08-20') as col2;+------+------+| col1 | col2 |+------+------+| 396 | -2 |+------+------+1 row in set (0.00 sec)
DATE_FORMAT时间日期格式:
1.date_format()
【例】使用date_format()函数格式化输出日期和时间值,SQL语句如下:
mysql> select date_format('2019-08-18 23:33:00','%w %m %y') as col1, -> date_format('2019-08-18 23:33:00','%D %y %a %d %m %b %j') as col2;+---------+---------------------------+| col1 | col2 |+---------+---------------------------+| 0 08 19 | 18th 19 Sun 18 08 Aug 230 |+---------+---------------------------+1 row in set (0.05 sec)
2.time_format()
【例】使用time_format(time,format)函数格式化输入时间值,SQL语句如下:
mysql> select time_format('23:39:30','%H %k %h %I %l');+------------------------------------------+| time_format('23:39:30','%H %k %h %I %l') |+------------------------------------------+| 23 23 11 11 11 |+------------------------------------------+1 row in set (0.00 sec)
3.get_format()
get_format返回的格式字符串:
【例】使用get_format()函数显示不同格式化类型下的格式字符串,SQL语句如下:
mysql> select get_format(date,'eur'),get_format(date,'usa');+------------------------+------------------------+| get_format(date,'eur') | get_format(date,'usa') |+------------------------+------------------------+| %d.%m.%Y | %m.%d.%Y |+------------------------+------------------------+1 row in set (0.05 sec)
【例】在date_format()函数中,使用get_format函数返回的显示格式字符串来显示指定的日期值,SQL语句如下:
mysql> select date_format('2019-08-19 23:41:30',get_format(date,'usa'));+-----------------------------------------------------------+| date_format('2019-08-19 23:41:30',get_format(date,'usa')) |+-----------------------------------------------------------+| 08.19.2019 |+-----------------------------------------------------------+1 row in set (0.00 sec)
相关免费学习推荐:mysql数据库(视频)
Das obige ist der detaillierte Inhalt vonMySQL führt Datumsfunktionen ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!