Maison >base de données >tutoriel mysql >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.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)
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)
[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)
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)
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)
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)
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)
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)
. 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)
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)
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)
3.weekday(d)
[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)
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.
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)
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)
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)
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)
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)
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)
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)
【例】使用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数据库(视频)
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!