Maison >base de données >tutoriel mysql >Explication détaillée de l'utilisation de la fonction date dans l'apprentissage MySQL
Cet article vous apporte des connaissances pertinentes sur mysql Il présente principalement les fonctions de date de MySQL, y compris l'obtention des fonctions d'heure système, les fonctions de formatage de date, etc.
Apprentissage recommandé : Tutoriel vidéo MySQL
La fonction "NOW()" peut obtenir la date et l'heure actuelles du système au format suivant : "AAAA-MM-JJ hh:mm :ss" (L'unité horaire ici est au format 24 heures)
La fonction "CURDATE()" peut obtenir la date actuelle du système, au format suivant : "AAAA-MM-JJ"
Le "CURTIME()" La fonction peut obtenir l'heure actuelle du système. Le format est le suivant : "hh:mm:ss" (format 24 heures)
SELECT NOW(); -- 返回结果 "2020-06-10 17:22:51" (示例)
SELECT CURDATE(); -- 返回结果 "2020-06-10"
SELECT CURTIME(); -- 返回结果 "17:22:52"
La fonction "DATE_FORMAT()" est utilisée pour formater les dates et peut aider nous extrayons des informations de date très utiles
La syntaxe est la suivante :
DATE_FORMAT(date, expression)
SELECT ename, DATE_FORMAT(hiredate,"%Y") AS "入职日期" FROM t_emp;
Placeholder | Fonction | Placeholder | Fonction |
---|---|---|---|
%Y | Année | %m | Mois |
%d | Date | %w | Semaine (numéro) - (0 est dimanche) |
%W | Semaine (nom) - (anglais) | %j | ce Le jour de l'année |
%U | La semaine de l'année | %H | heures (24) |
%h | heures (12) | % i | minutes |
%s | secondes | %r | time(24) |
%T | time(12) |
Utilisation "fonction date" pour interroger Quel jour de la semaine est votre anniversaire ?
SELECT DATE_FORMAT("2018-01-01","%W"); -- 返回结果为 "Monday"
Utilisez la « fonction date » pour demander combien d'employés ont rejoint l'entreprise au cours du premier semestre 1981 ?
SELECT COUNT(*) FROM t_emp WHERE DATE_FORMAT(hiredate,"%Y") = 1981 AND DATE_FORMAT(hiredate,"%m") <= 6;
Dans MySQL, deux dates ne peuvent pas être ajoutées ou soustraites directement en même temps, les dates ne peuvent pas être ajoutées ou soustraites aux nombres.
La raison est que la date est une unité de calcul spéciale et que les bases ne sont pas comme des décimales ordinaires.
Bien que nous utilisions la date pour effectuer l'opération "+1" sans provoquer d'erreur grammaticale, le résultat obtenu est un nombre pur, pas le résultat au format de date souhaité. (Exemple ci-dessous) La fonction
SELECT ename, hiredate, hiredate+1 FROM t_emp;
DATE_ADD() peut implémenter le calcul du décalage de date et est relativement flexible dans le traitement des unités de temps.
La syntaxe est la suivante :
SELECT DATE_ADD("原始日期", INTERVAL, 偏移量, 时间单位) -- INTERVAL 是 关键字
"Fonction DATE_ADD()" Le cas de démonstration est le suivant
SELECT DATE_ADD(NOW(), INTERVAL 10 DAY); -- 得到的结果为 10 天 之后的日期时间
SELECT DATE_ADD(NOW(), INTERVAL -500 MINUTE); -- 得到的结果为 500 分钟 之前的日期时间
SELECT DATE_ADD(DATE_ADD(NOW(), INTERVAL -6 MONTH), INTERVAL -3 DAY); -- 得到的结果为 6 个月 3 天 之前的日期时间
SELECT DATE_FORMAT( DATE_ADD(DATE_ADD(NOW(), INTERVAL -6 MONTH), INTERVAL -3 DAY) , "%Y-%m-%d") AS DATE; -- 返回 "%Y-%m-%d" 格式结果
La fonction DATEDIFF() est utilisée pour calculer le nombre de jours entre deux dates , la syntaxe est la suivante :
DATEDIFF("Date", "Date")
Interrogez les informations des employés de 10 départements dont le revenu annuel dépasse 15 000 et dont l'expérience professionnelle dépasse 20 ans.
SELECT empno, ename, sal, hiredate FROM t_emp WHERE deptno = 10 AND (sal + IFNULL(comm,0)) * 12 >=15000 AND DATEDIFF(NOW(),hiredate)/365 >= 20 -- IFNULL(expr1,expr2):IFNULL 函数的语法,当第一个参数的值为null 的时候,则返回第二个参数的值 -- DATEDIFF(expr1,expr2):DATEDIFF 函数的语法,计算第一个日期与第二个日期的偏差时间差 -- NOW():NOW 函数可以获得当前日期
Apprentissage recommandé : Tutoriel vidéo 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!