Maison  >  Article  >  base de données  >  Explication détaillée de l'utilisation de la fonction date dans l'apprentissage MySQL

Explication détaillée de l'utilisation de la fonction date dans l'apprentissage MySQL

WBOY
WBOYavant
2022-08-15 18:29:411875parcourir

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.

Explication détaillée de l'utilisation de la fonction date dans l'apprentissage MySQL

Apprentissage recommandé : Tutoriel vidéo MySQL

Obtenir la fonction d'heure système

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"

Fonction de formatage de la date

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)

Pratique de la fonction Date

Utilisation "fonction date" pour interroger Quel jour de la semaine est votre anniversaire ?

SELECT DATE_FORMAT("2018-01-01","%W");        -- 返回结果为 "Monday"

Exercice sur la fonction date

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;

Notes sur le calcul des dates

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;

Calcul du décalage de date

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" 格式结果

Calculer le nombre de jours entre les dates

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer