Maison > base de données > tutoriel mysql > 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
Libérer: 2022-08-15 20:19:07
avant
1951 Les gens l'ont consulté

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"  (示例)
Copier après la connexion
SELECT CURDATE();        -- 返回结果 "2020-06-10"
Copier après la connexion
SELECT CURTIME();        -- 返回结果 "17:22:52"
Copier après la connexion

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

PlaceholderFonctionPlaceholderFonction
%Y Année%m Mois
%dDate%wSemaine (numéro) - (0 est dimanche)
%WSemaine (nom) - (anglais) %jce Le jour de l'année
%ULa semaine de l'année%Hheures (24)
%hheures (12)% iminutes
%ssecondes%rtime(24)
%Ttime(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"
Copier après la connexion

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

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

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 是 关键字
Copier après la connexion

"Fonction DATE_ADD()" Le cas de démonstration est le suivant

SELECT DATE_ADD(NOW(), INTERVAL 10 DAY);         -- 得到的结果为 10 天 之后的日期时间
Copier après la connexion
SELECT DATE_ADD(NOW(), INTERVAL -500 MINUTE);         -- 得到的结果为 500 分钟 之前的日期时间
Copier après la connexion
SELECT DATE_ADD(DATE_ADD(NOW(), INTERVAL -6 MONTH), INTERVAL -3 DAY);         -- 得到的结果为 6 个月 3 天 之前的日期时间
Copier après la connexion
SELECT 
DATE_FORMAT(
DATE_ADD(DATE_ADD(NOW(), INTERVAL -6 MONTH), INTERVAL -3 DAY) , "%Y-%m-%d") AS DATE;     -- 返回 "%Y-%m-%d" 格式结果
Copier après la connexion

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 函数可以获得当前日期
Copier après la connexion

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!

Étiquettes associées:
source:jb51.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