Maison base de données tutoriel mysql Explication détaillée de la fonction de date MySQL

Explication détaillée de la fonction de date MySQL

Mar 03, 2018 am 10:48 AM
mysql 日期 详解

Mysql, en tant que base de données relationnelle gratuite de Kaiyuan, a une très large base d'utilisateurs. Cet article répertorie les fonctions de date et les fonctions de formatage de conversion de date couramment utilisées dans MYSQL.

1. JOUR DE LA SEMAINE(date)


SELECT DAYOFWEEK(‘2016-01-16') 
SELECT DAYOFWEEK(‘2016-01-16 00:00:00')
Copier après la connexion


-> 7 (表示,记住:星期天=1,星期一=2, ... 星期六=7)
Copier après la connexion

2. JOUR DE LA SEMAINE(date)


SELECT WEEKDAY(‘2016-01-16') 
SELECT WEEKDAY(‘2016-01-16 00:00:00')
Copier après la connexion


-> 5 (表示返回date是在一周中的序号,西方日历中通常一周的开始是星期天,并且以0开始计数,所以,记住:0=星期一,1=星期二, ... 5=星期六)
Copier après la connexion

3 , JOUR DU MOIS (date)


SELECT DAYOFMONTH(‘2016-01-16') 
SELECT DAYOFMONTH(‘2016-01-16 00:00:00')
Copier après la connexion


-> 16 (表示返回date是当月的第几天,1号就返回1,... ,31号就返回31)
Copier après la connexion

4.


SELECT DAYOFYEAR(‘2016-03-31') 
SELECT DAYOFYEAR(‘2016-03-31 00:00:00')
Copier après la connexion


-> 91 (表示返回date是当年的第几天,01.01返回1,... ,12.31就返回365)
Copier après la connexion

MOIS(date)


SELECT MONTH(‘2016-01-16') 
SELECT MONTH(‘2016-01-16 00:00:00')
Copier après la connexion


-> 1 (表示返回date是当年的第几月,1月就返回1,... ,12月就返回12)
Copier après la connexion

6. NOM DU JOUR(date)


SELECT DAYNAME(‘2016-01-16') 
SELECT DAYNAME(‘2016-01-16 00:00:00')
Copier après la connexion


-> Saturday (表示返回date是周几的英文全称名字)
Copier après la connexion

7. NOM DU MOIS(date)


SELECT MONTHNAME(‘2016-01-16') 
SELECT MONTHNAME(‘2016-01-16 00:00:00')
Copier après la connexion


-> January (表示返回date的是当年第几月的英文名字)
Copier après la connexion

8. TRIMESTRE(date)


SELECT QUARTER(‘2016-01-16') 
SELECT QUARTER(‘2016-01-16 00:00:00')
Copier après la connexion


-> 1 (表示返回date的是当年的第几个季度,返回1,2,3,4)
Copier après la connexion

9. SEMAINE(date, index)


SELECT WEEK(‘2016-01-03') 
SELECT WEEK(‘2016-01-03', 0) 
SELECT WEEK(‘2016-01-03', 1)
Copier après la connexion


-> 1 (该函数返回date在一年当中的第几周,date(01.03)是周日,默认是以为周日作为一周的第一天,函数在此处返回1可以有两种理解:1、第一周返回0,第二周返回1,.... ,2、以当年的完整周开始计数,第一周返回1,第二周返回2,... ,最后一周返回53)
-> 1 (week()默认index就是0. 所以结果同上)
-> 0 (当index为1时,表示一周的第一天是周一,所以,4号周一才是第二周的开始日)
Copier après la connexion

10. )


SELECT YEAR(‘70-01-16') 
SELECT YEAR(‘2070-01-16') 
SELECT YEAR(‘69-01-16 00:00:00')
Copier après la connexion


-> 1970 (表示返回date的4位数年份)
-> 2070 
-> 1969
Copier après la connexion
Il est à noter que si l'année n'a que deux chiffres, alors elle sera être automatiquement complété Le mécanisme est basé sur l'heure par défaut 1970.01.01 comme limite, >= 70 achèvement 19, < 70 achèvement 20

11, HOUR(time)


SELECT HOUR(‘11:22:33&#39;) 
SELECT HOUR(‘2016-01-16 11:22:33&#39;)
Copier après la connexion


-> 11
-> 11
Copier après la connexion
Renvoie la valeur horaire de la date ou de l'heure, plage de valeurs (0-23)

12. MINUTE(heure)


SELECT MINUTE(‘11:22:33&#39;) 
SELECT MINUTE(‘2016-01-16 11:44:33&#39;)
Copier après la connexion


-> 22
-> 44
Copier après la connexion
Renvoie la valeur minute de l'heure. , plage de valeurs (0-59)

13. SECONDE(heure)


SELECT SECOND(‘11:22:33&#39;) 
SELECT SECOND(‘2016-01-16 11:44:22&#39;)
Copier après la connexion


-> 33
-> 22
Copier après la connexion
Renvoie la valeur minute de l'heure, plage de valeurs (0-59)

14, PERIOD_ADD(month, add)


SELECT PERIOD_ADD(1601,2) 
SELECT PERIOD_ADD(191602,3) 
SELECT PERIOD_ADD(191602,-3)
Copier après la connexion


-> 201603
-> 191605
-> 191511
Copier après la connexion
Cette fonction renvoie le résultat d'un mois croissant ou décroissant. Le format du mois est aaMM ou aaaaMM. Les résultats renvoyés sont tous au format aaaaMM. add peut transmettre une valeur négative


15, PERIOD_DIFF(monthStart, MonthEnd)


SELECT PERIOD_DIFF(1601,1603) 
SELECT PERIOD_DIFF(191602,191607) 
SELECT PERIOD_DIFF(1916-02,1916-07) 
SELECT PERIOD_DIFF(1602,9002)
Copier après la connexion


-> -2
-> -5
-> 5
-> 312
Copier après la connexion
Cette fonction renvoie le nombre de mois entre MonthStart - MonthEnd

16, DATE_ADD(date, INTERVAL number type), identique à ADDDATE()


SELECT DATE_ADD(“2015-12-31 23:59:59”,INTERVAL 1 SECOND) 
SELECT DATE_ADD(“2015-12-31 23:59:59”,INTERVAL 1 DAY) 
SELECT DATE_ADD(“2015-12-31 23:59:59”,INTERVAL “1:1” MINUTE_SECOND) 
SELECT DATE_ADD(“2016-01-01 00:00:00”,INTERVAL “-1 10” DAY_HOUR)
Copier après la connexion


-> 2016-01-01 00:00:00
-> 2016-01-01 23:59:59
-> 2016-01-01 00:01:00
-> 2015-12-30 14:00:00
Copier après la connexion
DATE_ADD() et ADDDATE() renvoient les résultats des opérations de date

1. Le format de la date peut être « 15-12-31 », qui peut être « 15-12-31 23:59:59 » ou « 2015-12-31 23:59:59 ». , le résultat du format de date sera renvoyé. Si Si le paramètre date est au format datetime, le résultat du format datetime sera renvoyé

2 Tapez le format :

SECONDES secondes SECONDES
MINUTE minutes MINUTES <. 🎜> HEURE heure HEURES
JOUR jours JOURS
MOIS Mois MOIS
ANNÉE ANNÉES
MINUTE_SECOND Minutes et secondes "MINUTES:SECONDS"
HOUR_MINUTE Heures et minutes "HOURS:MINUTES"
DAY_HOUR Jours et heures "DAYS HOURS"
YEAR_MONTH Années et mois "YEARS-MONTHS"
HOUR_SECOND heures, minutes, "HOURS:MINUTES:SECONDS"
DAY_MINUTE jours, heures, minutes "DAYS HOURS:MINUTES"
DAY_SECOND jours, heures, minutes, secondes "DAYS HOURS: MINUTES:SECONDS"

3 De plus, si vous n'utilisez pas de fonctions, vous pouvez également envisager d'utiliser les opérateurs "+" et "-". Les exemples sont les suivants :




Résultat renvoyé :
SELECT “2016-01-01” - INTERVAL 1 SECOND 
SELECT “2016-01-01” - INTERVAL 1 DAY 
SELECT ‘2016-12-31 23:59:59&#39; + INTERVAL 1 SECOND 
SELECT ‘2016-12-31 23:59:59&#39; + INTERVAL “1:1” MINUTE_SECOND
Copier après la connexion


<🎜. >

17. DATE_SUB (date, type de numéro INTERVAL), identique à SUBDATE()
-> 2015-12-31 23:59:59
-> 2015-12-31
-> 2017-01-01 00:00:00
-> 2017-01-01 00:01:00
Copier après la connexion

L'utilisation est similaire à DATE_ADD() et ADDDATE(), l'un est pour l'addition et l'autre est pour la soustraction, veuillez vous référer à 16 points pour l'utilisation. Pour une utilisation spécifique, veuillez vous référer à DATE_ADD() et ADDDATE().


18. TO_DAYS(date)


SELECT TO_DAYS(‘2016-01-16&#39;) 
SELECT TO_DAYS(‘20160116&#39;) 
SELECT TO_DAYS(‘160116&#39;)
Copier après la connexion


Renvoie le nombre total de jours de AD 0 à ce jour

-> 736344
-> 736344
-> 736344
Copier après la connexion

19, FROM_DAYS(date)


SELECT FROM_DAYS(367)
Copier après la connexion


Renvoie la valeur DATE du nombre de jours depuis l'année 0 après JC

-> 0001-01-02
Copier après la connexion

20. DATE_FORMAT(date, format) : Formate la date en fonction des paramètres.


SELECT DATE_FORMAT(‘2016-01-16 22:23:00&#39;,&#39;%W %M %Y&#39;) 
SELECT DATE_FORMAT(‘2016-01-16 22:23:00&#39;,&#39;%D %y %a %d %m %b %j&#39;) 
SELECT DATE_FORMAT(‘2016-01-16 22:23:00&#39;,&#39;%H %k %I %r %T %S %w&#39;) 
SELECT DATE_FORMAT(‘2016-01-16 22:23:00&#39;,&#39;%Y-%m-%d %H:%i:%s&#39;)
Copier après la connexion


les formats de format sont répertoriés :

%M 月名字(January……December)
%W 星期名字(Sunday……Saturday)
%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)
%Y 年, 数字, 4 位
%y 年, 数字, 2 位
%a 缩写的星期名字(Sun……Sat)
%d 月份中的天数, 数字(00……31)
%e 月份中的天数, 数字(0……31)
%m 月, 数字(01……12)
%c 月, 数字(1……12)
%b 缩写的月份名字(Jan……Dec)
%j 一年中的天数(001……366)
%H 小时(00……23)
%k 小时(0……23)
%h 小时(01……12)
%I 小时(01……12)
%l 小时(1……12)
%i 分钟, 数字(00……59)
%r 时间,12 小时(hh:mm:ss [AP]M)
%T 时间,24 小时(hh:mm:ss)
%S 秒(00……59)
%s 秒(00……59)
%p AM或PM
%w 一个星期中的天数(0=Sunday ……6=Saturday )
%U 星期(0……52), 这里星期天是星期的第一天
%u 星期(0……52), 这里星期一是星期的第一天
%% 字符% )

TIME_FORMAT(time,format):
具体用法和DATE_FORMAT()类似,但TIME_FORMAT只处理小时、分钟和秒(其余符号产生一个NULL值或0)

21、获取系统当前日期


SELECT CURDATE() 
SELECT CURRENT_DATE()
Copier après la connexion


-> 2016-01-16
-> 2016-01-16
Copier après la connexion

22、获取系统当前时间


SELECT CURTIME() 
SELECT CURRENT_TIME()
Copier après la connexion


-> 17:44:22
-> 17:44:22
Copier après la connexion

23、NOW(),SYSDATE(),CURRENT_TIMESTAMP(),LOCALTIME():获取系统当前日期和时间


SELECT NOW() 
SELECT SYSDATE() 
SELECT CURRENT_TIMESTAMP() 
SELECT CURRENT_TIMESTAMP 
SELECT LOCALTIME() 
SELECT LOCALTIME
Copier après la connexion


-> 2016-01-16 17:44:41
-> 2016-01-16 17:44:41
-> 2016-01-16 17:44:41
-> 2016-01-16 17:44:41
-> 2016-01-16 17:44:41
-> 2016-01-16 17:44:41
Copier après la connexion

24、UNIX_TIMESTAMP(date):获取时间戳


SELECT UNIX_TIMESTAMP() 
SELECT UNIX_TIMESTAMP(‘2016-01-16&#39;) 
SELECT UNIX_TIMESTAMP(‘2016-01-16 23:59:59&#39;)
Copier après la connexion


-> 1452937627
-> 1452873600
-> 1452959999
Copier après la connexion

25、FROM_UNIXTIME(unix_timestamp,format):把时间戳转化成日期时间


SELECT FROM_UNIXTIME(1452959999) 
SELECT FROM_UNIXTIME(1452959999,&#39;%Y-%m-%d %H:%i:%s&#39;)
Copier après la connexion


-> 2016-01-16 23:59:59
-> 2016-01-16 23:59:59
Copier après la connexion

26、SEC_TO_TIME(seconds):把秒数转化成时间


SELECT SEC_TO_TIME(2378)
Copier après la connexion


-> 00:39:38
Copier après la connexion

27、TIME_TO_SEC(time):把时间转化成秒数


SELECT TIME_TO_SEC(‘22:23:00&#39;)
Copier après la connexion


-> 2378
Copier après la connexion

28、ADDTIME(time,times):把times加到time上


SELECT ADDTIME(“2015-12-31 23:59:59”,&#39;01:01:01&#39;)
Copier après la connexion


-> 2016-01-01 01:01:00
Copier après la connexion

29、CONVERT_TZ(date,from_tz ,to_tz ):转换时区


SELECT CONVERT_TZ(‘2004-01-01 12:00:00&#39;,&#39;+00:00&#39;,&#39;+10:00&#39;)
Copier après la connexion


-> 2004-01-01 22:00:00
Copier après la connexion

30、STR_TO_DATE(date,format ):将字符串转成format格式的日期时间


SELECT STR_TO_DATE(‘2015-01-01&#39;, ‘%Y-%m-%d&#39;)
Copier après la connexion


-> 2015-01-01
Copier après la connexion

31、LAST_DAY(date ):获取date当月最后一天的日期


SELECT LAST_DAY(SYSDATE()) 
SELECT LAST_DAY(‘2015-02-02&#39;) 
SELECT LAST_DAY(‘2015-02-02 00:22:33&#39;)
Copier après la connexion


-> 2016-01-31
-> 2015-02-28
-> 2015-02-28
Copier après la connexion

32、MAKEDATE(year ,dayofyear ):根据参数(年份,第多少天)获取日期


SELECT MAKEDATE(2015 ,32)
Copier après la connexion


-> 2015-02-01
Copier après la connexion

33、 MAKETIME(hour ,minute ,second ):根据参数(时,分,秒)获取时间


SELECT MAKETIME(12 ,23 ,34 )
Copier après la connexion


-> 12:23:34
Copier après la connexion

34、YEARWEEK(date):获取日期的年和周


SELECT YEARWEEK(SYSDATE()) 
SELECT YEARWEEK(‘2015-01-10&#39;) 
SELECT YEARWEEK(‘2015-01-10&#39;,1)
Copier après la connexion


-> 201602
-> 201501
-> 201502
Copier après la connexion

35、WEEKOFYEAR(date):获取当日是当年的第几周


SELECT WEEKOFYEAR(SYSDATE()) 
SELECT WEEKOFYEAR(‘2015-01-10&#39;)
Copier après la connexion


-> 2
-> 2
Copier après la connexion

-> 2
-> 2

mysql中常用的几种时间格式转换函数整理如下

1,from_unixtime(timestamp, format):

timestamp为int型时间,如14290450779;format为转换的格式,包含格式如下:

%M Nom du mois (janvier...décembre)
%W Nom de la semaine (dimanche...samedi)
%D Jour du mois avec préfixe anglais (1er, 2e, 3e, etc.)
%Y année, chiffre, 4 chiffres
%y année, chiffre, 2 chiffres
%a nom abrégé de la semaine (Dim...Sam)
%d nombre de jours dans le mois , nombre (00… …31)
%e Nombre de jours dans le mois, nombre (0……31)
%m Mois, nombre (01……12)
%c Mois, nombre ( 1……12)
%b nom du mois abrégé (janvier...décembre)
%j nombre de jours dans une année (001...366)
%H heures (00...23 )
%k heures (0... …23)
%h heures (01…12)
%I heures (01…12)
%l heures (1…12)
%i minutes, nombre (00… …59)
%r temps, 12 heures (hh:mm:ss [AP]M)
%T temps, 24 heures (hh:mm:ss)
%S secondes (00……59 )
%s secondes (00……59)
%p AM ou PM
%w nombre de jours dans une semaine (0=dimanche…6=samedi)
%U semaine (0……52), où dimanche est le premier jour de la semaine
%u semaine (0……52), où lundi est le premier jour de la semaine

2, unix_timestamp(date):

La fonction est exactement le contraire de from_unixtime() La première convertit l'horodatage unix en une heure lisible, tandis que unix_timestamp() convertit l'heure lisible en. un horodatage unix. Ceci est utile pour le stockage datetime. Il est utilisé lors du tri par heure. Par exemple, unix_timestamp('2009-08-06 10:10:40'), vous obtenez 1249524739.

Si unix_timestamp() ne transmet pas de paramètres, la fonction now() est appelée pour obtenir automatiquement l'heure actuelle.

3, date_format(date, format) :

date_format() convertit les valeurs de type date ou datetime dans n'importe quel format d'heure. Par exemple, dans un scénario d'application courant, une table comporte un champ qui correspond à l'heure de mise à jour et stocke le type datetime. Cependant, lorsqu'elle est affichée dans le frontal, elle doit uniquement afficher l'année, le mois et le jour (xxxx-xx-). xx). Dans ce cas, vous pouvez utiliser le traitement date_format(date,'% Y-%m-%d ') sans utiliser le traitement de boucle de programme dans le jeu de résultats.

Recommandations associées :

Fonctions de date MySQL fréquemment utilisées

Types de date et d'heure MySQL

Tutoriel d'opération de date php mysql function_PHP


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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment ouvrir phpmyadmin Comment ouvrir phpmyadmin Apr 10, 2025 pm 10:51 PM

Vous pouvez ouvrir PHPMYADMIN via les étapes suivantes: 1. Connectez-vous au panneau de configuration du site Web; 2. Trouvez et cliquez sur l'icône PHPMYADMIN; 3. Entrez les informations d'identification MySQL; 4. Cliquez sur "Connexion".

MySQL: une introduction à la base de données la plus populaire au monde MySQL: une introduction à la base de données la plus populaire au monde Apr 12, 2025 am 12:18 AM

MySQL est un système de gestion de la base de données relationnel open source, principalement utilisé pour stocker et récupérer les données rapidement et de manière fiable. Son principe de travail comprend les demandes des clients, la résolution de requête, l'exécution des requêtes et les résultats de retour. Des exemples d'utilisation comprennent la création de tables, l'insertion et la question des données et les fonctionnalités avancées telles que les opérations de jointure. Les erreurs communes impliquent la syntaxe SQL, les types de données et les autorisations, et les suggestions d'optimisation incluent l'utilisation d'index, les requêtes optimisées et la partition de tables.

Comment utiliser un seul fileté redis Comment utiliser un seul fileté redis Apr 10, 2025 pm 07:12 PM

Redis utilise une architecture filetée unique pour fournir des performances élevées, une simplicité et une cohérence. Il utilise le multiplexage d'E / S, les boucles d'événements, les E / S non bloquantes et la mémoire partagée pour améliorer la concurrence, mais avec des limites de limitations de concurrence, un point d'échec unique et inadapté aux charges de travail à forte intensité d'écriture.

Place de MySQL: bases de données et programmation Place de MySQL: bases de données et programmation Apr 13, 2025 am 12:18 AM

La position de MySQL dans les bases de données et la programmation est très importante. Il s'agit d'un système de gestion de base de données relationnel open source qui est largement utilisé dans divers scénarios d'application. 1) MySQL fournit des fonctions efficaces de stockage de données, d'organisation et de récupération, en prenant en charge les systèmes Web, mobiles et de niveau d'entreprise. 2) Il utilise une architecture client-serveur, prend en charge plusieurs moteurs de stockage et optimisation d'index. 3) Les usages de base incluent la création de tables et l'insertion de données, et les usages avancés impliquent des jointures multiples et des requêtes complexes. 4) Des questions fréquemment posées telles que les erreurs de syntaxe SQL et les problèmes de performances peuvent être déboguées via la commande Explication et le journal de requête lente. 5) Les méthodes d'optimisation des performances comprennent l'utilisation rationnelle des indices, la requête optimisée et l'utilisation des caches. Les meilleures pratiques incluent l'utilisation des transactions et des acteurs préparés

Pourquoi utiliser MySQL? Avantages et avantages Pourquoi utiliser MySQL? Avantages et avantages Apr 12, 2025 am 12:17 AM

MySQL est choisi pour ses performances, sa fiabilité, sa facilité d'utilisation et son soutien communautaire. 1.MySQL fournit des fonctions de stockage et de récupération de données efficaces, prenant en charge plusieurs types de données et opérations de requête avancées. 2. Adoptez l'architecture client-serveur et plusieurs moteurs de stockage pour prendre en charge l'optimisation des transactions et des requêtes. 3. Facile à utiliser, prend en charge une variété de systèmes d'exploitation et de langages de programmation. 4. Avoir un solide soutien communautaire et fournir des ressources et des solutions riches.

Comment se connecter à la base de données d'Apache Comment se connecter à la base de données d'Apache Apr 13, 2025 pm 01:03 PM

Apache se connecte à une base de données nécessite les étapes suivantes: Installez le pilote de base de données. Configurez le fichier web.xml pour créer un pool de connexion. Créez une source de données JDBC et spécifiez les paramètres de connexion. Utilisez l'API JDBC pour accéder à la base de données à partir du code Java, y compris l'obtention de connexions, la création d'instructions, les paramètres de liaison, l'exécution de requêtes ou de mises à jour et de traitement des résultats.

Comment démarrer MySQL par Docker Comment démarrer MySQL par Docker Apr 15, 2025 pm 12:09 PM

Le processus de démarrage de MySQL dans Docker se compose des étapes suivantes: Tirez l'image MySQL pour créer et démarrer le conteneur, définir le mot de passe de l'utilisateur racine et mapper la connexion de vérification du port Créez la base de données et l'utilisateur accorde toutes les autorisations sur la base de données

CentOS installe MySQL CentOS installe MySQL Apr 14, 2025 pm 08:09 PM

L'installation de MySQL sur CENTOS implique les étapes suivantes: Ajout de la source MySQL YUM appropriée. Exécutez la commande YUM Install MySQL-Server pour installer le serveur MySQL. Utilisez la commande mysql_secure_installation pour créer des paramètres de sécurité, tels que la définition du mot de passe de l'utilisateur racine. Personnalisez le fichier de configuration MySQL selon les besoins. Écoutez les paramètres MySQL et optimisez les bases de données pour les performances.

See all articles