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

Parlons des fonctions liées aux dates couramment utilisées dans MySQL

coldplay.xixi
Libérer: 2021-02-20 09:15:35
avant
1844 Les gens l'ont consulté

Parlons des fonctions liées aux dates couramment utilisées dans MySQL

Recommandations d'apprentissage gratuites : tutoriel vidéo mysql

Table des matières

  • Première partie : Fonction de décalage horaire timestampdiff, datediff, timediff
    • Fonction de décalage horaire : timestampdiff
    • 2, Fonction de décalage horaire : datediff
    • 3. Fonction de décalage horaire : timediff
    • 4. Autres fonctions de date
    • Autres fonctions de date
  • Chapitre Deux parties de date, horodatage, conversion de chaîne
    • Autres

Partie 1 : Heure fonctions de différence timestampdiff, datediff , timediff

1. Fonction de décalage horaire : timestampdiff

Syntaxe : timestampdiff(interval, datetime1,datetime2)
Résultat : Renvoie le décalage horaire de (temps 2 - temps 1), l'unité de résultat est donnée par le paramètre intervalle.

intervalle
frac_second millisecondes (les versions inférieures ne le prennent pas en charge, utilisez la seconde, puis divisez par 1000)
seconde seconde
minute minute
heure heure
jour jour
semaine semaine
mois mois
trimestre trimestre
année année

Remarque : l'enregistrement et le calcul en millisecondes ne sont pris en charge qu'après MySQL 5.6. Si c'est avant Pour la version, il est préférable de créer un champ int pour stocker les millisecondes dans les champs autres que le type datetime dans la base de données, puis d'effectuer vous-même le calcul de conversion. # Tous les formats

SELECT TIMESTAMPDIFF(FRAC_SECOND,'2012-10-01','2013-01-13'); # 暂不支持SELECT TIMESTAMPDIFF(SECOND,'2012-10-01','2013-01-13'); # 8985600SELECT TIMESTAMPDIFF(MINUTE,'2012-10-01','2013-01-13'); # 149760SELECT TIMESTAMPDIFF(HOUR,'2012-10-01','2013-01-13'); # 2496SELECT TIMESTAMPDIFF(DAY,'2012-10-01','2013-01-13'); # 104SELECT TIMESTAMPDIFF(WEEK,'2012-10-01','2013-01-13'); # 14SELECT TIMESTAMPDIFF(MONTH,'2012-10-01','2013-01-13'); # 3SELECT TIMESTAMPDIFF(QUARTER,'2012-10-01','2013-01-13'); # 1SELECT TIMESTAMPDIFF(YEAR,'2012-10-01','2013-01-13'); # 0
Copier après la connexion

2. Fonction de décalage horaire : datediff

Syntaxe : SELECT DATEDIFF(date1, date2)
Résultat : Le différence en jours entre la date 1 et la date 2

SLECT DATEDIFF('2013-01-13','2012-10-01'); # 104
Copier après la connexion

3. Fonction de décalage horaire : timediff

Syntaxe : timediff(time1,time2)
Résultat : Renvoie la différence entre time1-time2

SELECT TIMEDIFF('2018-05-21 14:51:43','2018-05-19 12:54:43');#49:57:00
Copier après la connexion

Remarque : Les deux paramètres de cette méthode doivent être au format date

4. Autre date fonctions

  • La fonction now() renvoie l'année, le mois, le jour, l'heure, la minute et la seconde de l'heure actuelle
  • La fonction curdate() renvoie l'année, informations sur le mois et le jour
  • la fonction curtime() renvoie les informations sur l'heure, la minute et la seconde de l'heure actuelle
  • Pour formater une date contenant l'année, le mois, le jour, l'heure, la minute et seconde dans un mois, un jour et une date, vous pouvez utiliser la fonction DATE (heure)

Autres fonctions de date

SELECT NOW(); # 2018-05-21 14:41:00SELECT CURDATE(); # 2018-05-21SELECT CURTIME(); # 14:41:38SELECT DATE(NOW()); # 2018-05-21SELECT SYSDATE(); # 2018-05-21 14:47:11SELECT CURRENT_TIME(); # 14:51:30SELECT CURRENT_TIMESTAMP; # 2018-05-21 14:51:37SELECT CURRENT_TIMESTAMP(); # 2018-05-21 14:51:43
Copier après la connexion

Remarque : maintenant () est similaire à sysdate(), sauf que now() est obtenu au début de l'exécution, tandis que sysdate() peut être obtenu lorsque la fonction est exécutée de manière dynamique.

Partie 2 Date, horodatage, conversion de chaîne

#时间日期转字符串  相当与Oracle中的to_char函数select date_format(now(), '%Y-%m-%d'); #结果:2017-02-27#时间转时间戳select unix_timestamp(now()); #结果:1488160428#字符串转时间select str_to_date('2017-02-27', '%Y-%m-%d %H'); #结果:2017-02-27 00:00:00select str_to_date('2017-10-16 15:30:28','%Y-%m-%d %H:%i:%s'); #结果 2017-10-16 15:30:28#注意 年是大写‘Y’,小时也必须是大写‘H’    (如果其他为大写,则得到结果为null)#字符串转时间戳select unix_timestamp('2017-02-27'); #结果:1488124800#时间戳转时间select from_unixtime(1488160428); #结果:2017-02-27 09:53:48#时间戳转字符串select from_unixtime(1488160428,'%Y-%m-%d %T'); #结果:2017-02-27 09:53:48

 SELECT DATE_FORMAT(CURDATE(),'%Y-%m-%d %H:%i:%s'); -- 获取当天零点select curdate();                       --获取当前日期select last_day(curdate());                    --获取当月最后一天。select DATE_ADD(curdate(),interval -day(curdate())+1 day);   --获取本月第一天select date_add(curdate()-day(curdate())+1,interval 1 month); -- 获取下个月的第一天select DATEDIFF(date_add(curdate()-day(curdate())+1,interval 1 month ),DATE_ADD(curdate(),interval -day(curdate())+1 day)) from dual; --获取当前月的天数
Copier après la connexion

Autres

SELECT DAY('2021-2-17') -- 当前月的第几天(17)SELECT MONTH('2021-2-17') -- 当前为几月(2)
Copier après la connexion

Autres recommandations d'apprentissage gratuites associées : tutoriel mysql(vidéo)

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!