Heim >Datenbank >MySQL-Tutorial >MySQL führt Datumsfunktionen ein

MySQL führt Datumsfunktionen ein

coldplay.xixi
coldplay.xixinach vorne
2021-03-02 09:11:292527Durchsuche

MySQL führt Datumsfunktionen ein

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) Funktion zum Abrufen des aktuellen Datums und Funktion zum Abrufen der aktuellen Uhrzeit

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)
  • curdate()+0表示将当前日期值转换为数值型。

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)
    curdate()+0 bedeutet, den aktuellen Datumswert in einen numerischen Typ umzuwandeln.
2.curtime() und current_time()
[Beispiel] Verwenden Sie die Zeitfunktion , 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)
    curtime(). +0 bedeutet, dass der aktuelle Zeitwert konvertiert wird. Ist ein numerischer Typ.

(2) Funktionen zum Abrufen des aktuellen Datums und der aktuellen Uhrzeit


current_timestamp(), localtime(), now() und sysdate() vier Funktionen haben die gleiche Funktion, sie geben alle den aktuellen Datums- und Uhrzeitwert zurück.
  • [Beispiel] Verwenden Sie die Datums- und Uhrzeitfunktion, um die aktuelle Systemzeit und das aktuelle Datum abzurufen. Die SQL-Anweisung lautet wie folgt:
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)
  • (3) UNIX-Zeitstempelfunktion


    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.

      Datum kann eine Datumszeichenfolge, eine Datums-/Uhrzeitzeichenfolge, ein Zeitstempel oder eine Zahl im Format JJ[JJ]MMTT der Ortszeit sein.
    1.unix_timestamp(date)

    [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)

    from_unixtime() konvertiert einen Unix-Zeitstempel in eine gemeinsame Zeit Die Funktionen „format“ und „unix_timestamp(date)“ sind Umkehrfunktionen zueinander.

    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.


    1.UTC_DATE()
    [Beispiel] Verwenden Sie die Funktion utc_date(), um den aktuellen UTC-Datumswert zurückzugeben. Die SQL-Anweisung lautet wie folgt:
    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)


    1.Monat(Datum)
    [Beispiel] Verwenden Sie den Monat ()-Funktion, um den Monat am angegebenen Datum zurückzugeben. Die SQL-Anweisung lautet wie folgt:
    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)
    • 2.dayofweek(d)
    • [Beispiel] Verwenden Sie die Funktion dayofweek. Die SQL-Anweisung lautet wie folgt:
      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)


      weekday(d) gibt den Wochentagsindex zurück, der d entspricht: 0 steht für Montag, 1 steht für Dienstag, ... 6 steht für Sonntag.
      • [Beispiel] Verwenden Sie die Funktion „weekday()“, um den Arbeitstagsindex entsprechend dem Datum zurückzugeben. Die SQL-Anweisung lautet wie folgt:
      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

      week(d) ) Berechnen Sie das Datum d ist die Woche des Jahres. Mit der Doppelparameterform können Sie angeben, ob die Woche am Sonntag oder Montag beginnt. Wenn der Parameter Mode ignoriert wird, ist der Wert des Systemarguments default_week_format verwendet wird.


      1.week(d)
      [Beispiel] Verwenden Sie die Funktion Week(), um die Woche des Jahres für ein bestimmtes Datum abzufragen. Die SQL-Anweisung lautet wie folgt:
      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)
      2.weekofyear(d)

      [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

      1.dayofyear()
      [Beispiel] Die Funktion „dayofyear()“ gibt die Position des angegebenen Datums im Jahr zurück. Die SQL-Anweisung lautet wie folgt:
      mysql> select dayofmonth('2019-08-18');+--------------------------+| dayofmonth('2019-08-18') |+--------------------------+|                       18 |+--------------------------+1 row in set (0.00 sec)
      2.dayofmonth()

      [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.

      1.YEAR(date)

      [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)
      2.QUARTER(date)

      [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)
      3.MINUTE(time)🎜 [Beispiel] Verwenden Sie die Funktion „minute()“, um den Minutenwert des angegebenen Datums zurückzugeben Zeit, die SQL-Anweisung lautet wie folgt: 🎜
      mysql> select second('20:07:00');+--------------------+| second('20:07:00') |+--------------------+|                  0 |+--------------------+1 row in set (0.00 sec)
      🎜4.SECOND(time)🎜 [Beispiel] Verwendung Die Funktion second() gibt den Sekundenwert der angegebenen Zeit zurück. Die SQL-Anweisung lautet wie folgt: 🎜
      mysql> select second('20:07:00');+--------------------+| second('20:07:00') |+--------------------+|                  0 |+--------------------+1 row in set (0.00 sec)

      (10)获取日期的指定值的函数extract(type from date)

      【例】使用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)

      (11)时间和秒钟转换的函数

      1.time_to_sec(time)

      • time_to_sec(time)返回已经转化为秒的time参数。转换公式为:小时x3600+分钟*60+秒。

      【例】使用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函数返回值加上0值之后变成了小数值。
      • time_to_sec正好和sec_to_time互为反函数。

      【例】使用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)

      (12)计算日期和时间的函数。

      MySQL中计算日期和时间的格式:
      MySQL führt Datumsfunktionen ein
      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)

      (13)将日期和时间格式化的函数。

      DATE_FORMAT时间日期格式:
      MySQL führt Datumsfunktionen ein
      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返回的格式字符串:
      MySQL führt Datumsfunktionen ein
      【例】使用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!

      Stellungnahme:
      Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen