Maison > base de données > tutoriel mysql > le corps du texte

MySQL introduit les fonctions de date

coldplay.xixi
Libérer: 2021-03-02 09:11:29
avant
2488 Les gens l'ont consulté

MySQL introduit les fonctions de date

Type de fonction Date :

(1) Fonction pour obtenir la date actuelle et fonction pour obtenir l'heure actuelle
(2) Fonction pour obtenir la date et l'heure actuelles
(3) Fonction d'horodatage UNIX
(4) Fonction pour renvoyer la date UTC et fonction pour renvoyer l'heure UTC
(5) Fonction pour obtenir le mois mois( date) et nomdumois(date)
(6) Les fonctions dayname(d), dayofweek(d) et weekday(d)
(7) Les fonctions week(d) et dayofyear(d) pour obtenir le numéro de la semaine)
(8) Fonctions pour obtenir le nombre de jours dayofyear(d) et dayofmonth(d)
(9) Fonctions pour obtenir l'année, le quart, l'heure, la minute et la seconde.
(10) Fonction pour obtenir la valeur spécifiée de l'extrait de date (type à partir de la date)
(11) Fonction pour convertir l'heure et les secondes
(12) Fonction pour calculer la date et l'heure
(13) Fonction pour formater la date et l'heure

(Recommandations d'apprentissage gratuites associées : Tutoriel vidéo MySQL )

(1) Fonction pour obtenir la date actuelle et fonction pour obtenir l'heure actuelle

1.curdate() et current_date()
[Exemple] En utilisant la fonction date 获取系统当前日期, l'instruction SQL est la suivante :

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)
Copier après la connexion
  • curdate()+ 0 signifie changer la valeur actuelle de la date de conversion en type numérique.

2.curtime() et current_time()
[Exemple] En utilisant la fonction time 获取系统当前时间, l'instruction SQL est la suivante :

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)
Copier après la connexion
  • curtime ()+0 Indique la conversion de la valeur temporelle actuelle en type numérique.

(2) Fonction pour obtenir la date et l'heure actuelles
  • Les quatre fonctions de current_timestamp(), localtime(), now() et sysdate( ) La même chose, les deux renvoient la valeur de date et d’heure actuelle.

[Exemple] Utilisez la fonction date et heure pour obtenir l'heure et la date actuelles du système. L'instruction SQL est la suivante :

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)
Copier après la connexion

(3) Fonction d'horodatage UNIX.
  • Si unix_timestamp(date) est appelé sans paramètres, il renvoie un horodatage unix (le nombre de secondes après GMT, GMT est l'heure moyenne de Greenwich 1970.1.1) sous forme d'entier non signé.
  • date peut être une chaîne de date, une chaîne datetime, un horodatage ou un nombre au format AA[AA]MMJJ de l'heure locale.

1.unix_timestamp(date)
[Exemple] Utilisez la fonction unix_timestamp pour renvoyer l'horodatage au format unix. L'instruction SQL est la suivante :

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)
Copier après la connexion
  • . Fonction from_unixtime() L'horodatage Unix est converti en une heure dans un format commun et est la fonction inverse de la fonction unix_timestamp(date).

2.from_unixtime(date)
[Exemple] Utilisez la fonction from_unixtime pour convertir l'horodatage Unix en une heure au format commun L'instruction SQL est la suivante :

mysql> select from_unixtime('1566127316');+-----------------------------+| from_unixtime('1566127316') |+-----------------------------+| 2019-08-18 19:21:56.000000  |+-----------------------------+1 row in set (0.00 sec)
Copier après la connexion

.
(4 ) fonctions qui renvoient des dates UTC et fonctions qui renvoient l'heure UTC.

1.UTC_DATE()
[Exemple] Utilisez la fonction utc_date() pour renvoyer la valeur de la date UTC actuelle :

mysql> select utc_date(),utc_date()+0;+------------+--------------+| utc_date() | utc_date()+0 |+------------+--------------+| 2019-08-18 |     20190818 |+------------+--------------+1 row in set (0.05 sec)
Copier après la connexion

2.UTC_TIME().
[Exemple] Utilisez la fonction UTC_TIME() pour renvoyer la valeur de l'heure UTC actuelle. L'instruction SQL est la suivante :

mysql> select utc_time(),utc_time()+0;+------------+--------------+| utc_time() | utc_time()+0 |+------------+--------------+| 11:32:27   |       113227 |+------------+--------------+1 row in set (0.00 sec)
Copier après la connexion

(5) Obtenez la fonction du mois mois(date) et nom du mois. (date)

1.month (date)
[Exemple] Utilisez la fonctionmonth() pour renvoyer le mois à la date spécifiée L'instruction SQL est la suivante :

mysql> select month('2019-08-18');+---------------------+| month('2019-08-18') |+---------------------+|                   8 |+---------------------+1 row in set (0.00 sec)
Copier après la connexion

. 2.monthname(date)
[Exemple] Utilisez la fonctionmonthname() pour renvoyer Spécifiez le nom du mois dans la date. L'instruction SQL est la suivante :

mysql> select monthname('2019-08-18');+-------------------------+| monthname('2019-08-18') |+-------------------------+| August                  |+-------------------------+1 row in set (0.00 sec)
Copier après la connexion

(6) Obtenez le. fonctions dayname(d), dayofweek(d) et weekday(d)

1. dayname(d)
[Exemple] Utilisez la fonction dayname() pour renvoyer le nom du jour ouvrable du spécifié. date. L'instruction SQL est la suivante :

mysql> select dayname('2019-08-18');+-----------------------+| dayname('2019-08-18') |+-----------------------+| Sunday                |+-----------------------+1 row in set (0.00 sec)
Copier après la connexion

2.dayofweek(d)
[Exemple] Utilisez dayofweek() La fonction renvoie l'index de la semaine correspondant à la date.

mysql> select dayofweek('2019-08-18');+-------------------------+| dayofweek('2019-08-18') |+-------------------------+|                       1 |+-------------------------+1 row in set (0.00 sec)
Copier après la connexion

3.weekday(d)

  • weekday(d) renvoie l'index du jour de la semaine correspondant à d : 0 représente le lundi. La génération 1 représente le mardi,...6 représente le dimanche.

[Exemple] Utilisez la fonction weekday() pour renvoyer l'index du jour ouvrable correspondant à la date. L'instruction SQL est la suivante :

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)
Copier après la connexion

(7) Le fonction week(d) pour obtenir le numéro de la semaine ) et dayofyear(d)
  • week(d) calcule le jour d est la semaine de l'année. Le formulaire à double paramètre permet de préciser si. la semaine commence le dimanche ou le lundi. Si le paramètre Mode est Ignorer et utilisez la valeur de l'argument système default_week_format.

1.week(d)
[Exemple] Utilisez la fonction week() pour interroger la semaine de l'année pour une date spécifiée :

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
Copier après la connexion
.

2 .weekofyear(d)
[Exemple] Utilisez weekofyear() pour interroger la semaine de l'année pour une date spécifiée L'instruction SQL est la suivante :

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)
Copier après la connexion

(8. ) La fonction dayofyear() pour obtenir le nombre de jours d) et dayofmonth(d)

1.dayofyear()
[Exemple] Utilisez la fonction dayofyear() pour renvoyer la position de la date spécifiée dans l'année. L'instruction SQL est la suivante :

mysql> select dayofyear('2019-08-18');+-------------------------+| dayofyear('2019-08-18') |+-------------------------+|                     230 |+-------------------------+1 row in set (0.00 sec)
Copier après la connexion

2. dayofmonth()
[Exemple] Utilisez la fonction dayofmonth() pour renvoyer la position de la date spécifiée dans un mois. est la suivante ;

mysql> select dayofmonth('2019-08-18');+--------------------------+| dayofmonth('2019-08-18') |+--------------------------+|                       18 |+--------------------------+1 row in set (0.00 sec)
Copier après la connexion

(9) Obtenez l'année, le quart, l'heure, la fonction des minutes et des secondes.

1.YEAR(date)
[Exemple] Utilisez la fonction year() pour renvoyer l'année correspondant à la date spécifiée L'instruction SQL est la suivante :

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)
Copier après la connexion

2. QUARTER(date)
[Exemple] Utilisez la fonction quarter() pour renvoyer le trimestre correspondant à la date spécifiée L'instruction SQL est la suivante :

mysql> select quarter('19-08-18');+---------------------+| quarter('19-08-18') |+---------------------+|                   3 |+---------------------+1 row in set (0.00 sec)
Copier après la connexion

3.MINUTE(time)
[ Exemple] Utilisez la fonction minute() pour renvoyer la valeur des minutes de l'heure spécifiée. L'instruction SQL est la suivante :

mysql> select minute('19-08-18 20:07:00');+-----------------------------+| minute('19-08-18 20:07:00') |+-----------------------------+|                           7 |+-----------------------------+1 row in set (0.00 sec)
Copier après la connexion

4.SECOND(time)
[Exemple] Utilisez la fonction second(). pour renvoyer la valeur en secondes de l'heure spécifiée. L'instruction SQL est la suivante :

mysql> select second('20:07:00');+--------------------+| second('20:07:00') |+--------------------+|                  0 |+--------------------+1 row in set (0.00 sec)
Copier après la connexion

(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)
Copier après la connexion

(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)
Copier après la connexion

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)
Copier après la connexion

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

MySQL中计算日期和时间的格式:
MySQL introduit les fonctions de date
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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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

DATE_FORMAT时间日期格式:
MySQL introduit les fonctions de date
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)
Copier après la connexion

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)
Copier après la connexion

3.get_format()

get_format返回的格式字符串:
MySQL introduit les fonctions de date
【例】使用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)
Copier après la connexion

【例】在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)
Copier après la connexion

相关免费学习推荐:mysql数据库(视频)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal