Conditions préalables:
Vous devez installer MySQL ou MariaDB sur votre système d'exploitation Linux (I.e. Centos / Rhel, Ubuntu / Debian). Si vous avez besoin d'aide sur l'installation de MySQL / MARIADB, il existe de nombreux articles sur Linuxhint.com que vous pouvez vérifier.
Création de tables et de lignes faces:
J'utiliserai un anniversaire Tableau pour démontrer comment travailler avec les types de données de date et d'heure dans cet article. La table d'anniversaire a un nom champ de type Varchar, un date champ de type DATE et un temps champ de type TEMPS.
Vous pouvez créer le anniversaire table comme suit.
> Créer l'anniversaire de table (Si vous voulez que MySQL / MARIADB ajoute automatiquement la date actuelle ou l'heure actuelle tout en insérant de nouvelles lignes dans le anniversaire table, vous pouvez créer le anniversaire table comme suit.
> Créer l'anniversaire de table (Ici, Current_Date par défaut ajoute automatiquement la date actuelle au date Colum si aucune donnée n'est fournie pour cette colonne lors de l'insertion. De la même façon Current_time par défaut ajoute automatiquement l'heure actuelle au temps colonne.
Travailler avec la date:
Vous pouvez imprimer la date actuelle avec le DATE ACTUELLE() fonction comme suit:
> Sélectionner current_date ();Si «Bob» est né aujourd'hui, vous pouvez ajouter «bob» dans le anniversaire Tableau comme suit:
> Insérer dans l'anniversaire (nom, date) valeurs ('bob', current_date ());Vous pouvez également ajouter des dates de naissance spécifiques comme suit:
> Insérer dans l'anniversaire (nom, date) Valeurs («Lily», «1997-11-24»);L'état actuel de la table d'anniversaire est le suivant.
Vous ne pouvez extraire que la partie de l'année de la date à l'aide du ANNÉE() fonction, la partie du mois en utilisant le MOIS() fonction, la partie jour en utilisant le JOUR() fonction comme suit:
> Nom de sélection, année (date), mois (date), jour (date) à partir de l'anniversaire;Vous pouvez trouver le nom du mois d'une date en utilisant MonthName () fonction.
> Sélectionnez le nom, la date, le nom du mois (date) de l'anniversaire;1 an est égal à 52 semaines. Vous pouvez trouver la semaine de l'année en utilisant le Weekofyear () fonction comme suit:
> Sélectionnez Nom, Date, Weekofyear (Date) From Birthday;De la même manière, vous pouvez obtenir le jour de l'année en utilisant le Dayofyear () fonction. 1 an est égal à 365 jours. 366 jours dans une année de saut.
> Sélectionnez Nom, Date, DayOfyear (date) From Birthday;Vous pouvez trouver le jour de la semaine à partir d'une date en utilisant le JOUR DE LA SEMAINE() fonction.
> Sélectionnez le nom, date, jour de la semaine (date) à partir de l'anniversaire;Ici, 0 est le lundi, 1 est le mardi 2, le mercredi 3 est le jeudi 4 est le vendredi 5 est le samedi et 6 est le dimanche.
Vous pouvez également trouver le nom du jour de la semaine en utilisant le DayName () fonction.
> Sélectionnez le nom, la date, le nom de jour (date) de l'anniversaire;Travailler avec le temps:
Vous pouvez trouver le temps du système actuel en utilisant le HEURE ACTUELLE() fonction comme suit.
> Sélectionner current_time ();La colonne de temps de notre anniversaire La table est nul à ce stade.
> Sélectionner * à partir de l'anniversaire;Ajoutons quelques valeurs de temps factumé au temps colonne.
> Mettre à jour le jeu d'anniversaire Time = "21:14:32" où name = "bob";Maintenant le anniversaire La table devrait ressembler à quelque chose comme ça.
> Sélectionner * à partir de l'anniversaire;Vous pouvez trouver l'heure du temps en utilisant le HEURE() fonction, la minute en utilisant le MINUTE() fonction, et la seconde en utilisant le DEUXIÈME() fonction comme suit:
> Sélectionner le nom, heure (heure), minute (heure), deuxième (heure) de l'anniversaire;Travailler avec la date et l'heure:
Plus tôt, j'ai stocké la date et l'heure dans différents domaines du anniversaire tableau. C'est peu pratique. Si vous devez stocker les informations de date et d'heure, vous devez utiliser le DateTime Type de données.
Vous pouvez créer une nouvelle table d'anniversaire anniversaire2 qui utilise le type de données DateTime comme suit:
> Créer une table anniversaire2 (Maintenant, importez des données à partir du anniversaire table anniversaire2 Tableau comme suit:
> Insérer dans l'anniversaire2 Sélectionner le nom,C'est comment le anniversaire2 La table devrait ressembler à ce point.
> Sélectionner * dans anniversaire2;Vous pouvez convertir la datetime en secondes (horodatage) en utilisant le To_seconds () fonction comme suit:
> Sélectionnez le nom, à_seconds (dt) depuis anniversaire2;Toutes les fonctions que j'ai utilisées dans le Travailler avec la date et Travailler avec le temps Les sections de cet article fonctionneront également sur les champs DateTime.
Ajout et soustraire dates:
Vous pouvez ajouter et soustraire des dates dans MySQL / MARIADB.
Le Date_add () La fonction est utilisée pour ajouter à la date et Date_sub () La fonction est utilisée pour soustraire de la date. Le fomat de Date_add () et Date_sub () sont identiques.
Le format du Date_add () fonction:
DATE_ADD (DT, unité Interval Expr)Le format du Date_sub () fonction:
DATE_SUB (DT, unité d'intervalle expr)Ici, INTERVALLE est un mot-clé.
dt est le DATE, TEMPS ou DateTime à quoi vous souhaitez ajouter ou soustraire.
unité peut être ANNÉE, MOIS, JOUR, SEMAINE, HEURE, MINUTE, DEUXIÈME.
expr est une quanité numérique du défini unité.
Par exemple, vous pouvez ajouter un an à la date à l'aide du Date_add () fonction comme suit:
> Sélectionnez Nom, DT, DATE_ADD (DT, intervalle 1 an) de l'anniversaire2;De la même manière, vous pouvez soustraire un mois en utilisant le Date_sub () fonction comme suit:
> Sélectionnez Nom, DT, DATE_SUB (DT, intervalle 1 mois) de l'anniversaire2;Trouver la différence entre 2 dates:
Vous pouvez trouver la différence entre 2 dates en utilisant le TimestampDiff () fonction.
Le format du TimestampDiff () La fonction est:
TimestampDiff (unité, DT1, DT2)Ici, dt1 et dt2 peut être de type DATE ou DateTime.
Le TimestampDiff () Fonction Renvoie (dt2 - dt1) dans le défini unité.
Le unité peut être ANNÉE, MOIS, JOUR, SEMAINE, HEURE, MINUTE, DEUXIÈME.
Vous pouvez trouver l'âge (en quelques secondes) de chaque personne dans la table d'anniversaire comme suit:
> Sélectionner le nom, current_timestamp (), dt, timestampDiff (deuxième,De la même manière, vous pouvez trouver l'âge en jours comme suit:
> Sélectionner le nom, current_timestamp (), dt, timestampDiff (jour,Vous pouvez également trouver l'âge en années comme suit:
> Sélectionner le nom, current_timestamp (), dt, timestampDiff (année, dt,Donc, c'est essentiellement comme ça que vous travaillez avec la date et l'heure MySQL / MARIADB. Merci d'avoir lu cet article.