Qu'est-ce que Dadiff dans MySQL

Qu'est-ce que Dadiff dans MySQL
MySQL est l'une des bases de données les plus populaires au monde. Quelle que soit l'industrie, MySQL est largement adopté pour ses fonctionnalités. Il s'agit d'un RDBM open source (système de gestion de la base de données relationnelle). Les données sont organisées en tableaux qui peuvent être liés les uns aux autres. Il intègre SQL pour effectuer diverses actions de base de données.

Dans ce guide, nous allons consulter une telle fonction. Il montrera comment utiliser la fonction DADAIFF dans MySQL.

Le dadiff () en sql

La fonction Dadiff est disponible dans le cadre du langage de requête SQL. Dans MySQL, la fonction DADAFIF () prend deux dates en entrée, calcule la différence et renvoie le nombre de dates entre les deux dates.

Voici à quoi ressemble la structure de base de la fonction.

$ Dadiff (expression_1, expression_2)

Ici,

  • Expression_1: la première date
  • Expression_2: la deuxième date

L'expression peut être de l'un des formats suivants.

  • temps
  • date
  • DateTime
  • DateTime2
  • petit temps
  • DateTimeOffset

Dans SQL standard, cependant, DADIFF () est légèrement différent. Il prend également en charge un paramètre supplémentaire pour spécifier la pièce de date sur laquelle travailler.

$ DADIFF (date_part, expression_1, expression_2)

Ici,

DATE_PART: décrit la partie de la partie La fonction doit calculer sur. Par défaut, la valeur est définie sur des jours. Cependant, il prend également en charge des valeurs supplémentaires. Ces valeurs date_part ont également des abréviations appropriées.

  • mois («mm» ou «m»)
  • année («yy» ou «yyyy»)
  • Quarter («QQ» ou «Q»)
  • jour («dd» ou «d»)
  • Semaine («WK» ou «WW»
  • dayofyear («dy» ou «y»)
  • heure («HH»)
  • minute («mi» ou «m»)
  • deuxième («ss» ou «s»)
  • millisecondes («ms»)
  • microseconde («MCS»)
  • Nanoseconde («NS»)

La fonction Dadiff () est également livrée avec une limitation de portée. La valeur calculée de la différence de date doit se situer dans la plage d'entier (-2 147 483 647 à 2 147 483 648).

Utilisation de Dadiff ()

Dans cette section, nous consulterons diverses façons d'utiliser la fonction. Pour une démonstration, un serveur MySQL est défini avec PhpMyAdmin pour faciliter l'utilisation. Consultez ce guide sur la configuration de PhpMyAdmin sur Ubuntu.

Utilisation de base

À partir de l'onglet SQL, exécutez la requête suivante.

$ SELECT DADIFF («2090-10-11», «2020-10-10») comme «résultat»;

Comme le montre la sortie, la différence entre les dates spécifiées est de 25568 jours.

Comparaison avec une date antérieure

Et si la deuxième date était plus tard que la première date? Échanger les valeurs et les tester.

$ SELECT DADIFF ('2020-10-10', '2090-10-11') comme «résultat»;

Comme nous pouvons le voir, il montre toujours 25568 jours. Cependant, la valeur est négative. C'est une différence cruciale à garder à l'esprit lors de la mise en œuvre de cette fonction dans n'importe quel script / requête SQL.

Valeurs de DateTime

La fonction DADIFF () accepte également les valeurs DateTime comme le paramètre. Les valeurs de temps devraient être au format 24 heures sur 24.

$ SELECT DADIFF ('2090-10-11 23:59:59', '2020-10-10 00:00:00') en tant que 'result_1';
$ SELECT DADIFF ('2090-10-11 00:00:00', '2020-10-10 23:59:59') en tant que 'result_2';

Notez que la valeur de temps supplémentaire n'a pas d'impact sur le résultat du calcul. La fonction se concentre uniquement sur la date.

Travailler avec de mauvaises valeurs de date

Si les valeurs de date sont fausses, alors Dadiff () renvoie la valeur nul. Pour présenter, entrez une date non valide dans l'un ou l'autre des paramètres.

$ Select Dadiff ('2099-99-99', '2020-20-20') comme «résultat»

Comme prévu, la valeur de retour est nul.

Combinant dadiff () avec curdate ()

La fonction curdate () renvoie la date actuelle de la machine. Il ne prend aucun paramètre. En savoir plus sur l'utilisation de curdate () pour insérer la date et l'heure actuelles dans MySQL.

En utilisant curdate (), nous pouvons trouver la différence entre la date actuelle et la date cible. Par exemple, comparons la date en cours avec une journée dans le passé.

$ SELECT DADIFF (CURDATE (), «1980-10-10») comme «résultat»
$ SELECT DADIFF ('2077-01-01', CURDATE ()) comme «résultat»

Notez qu'il existe des fonctions supplémentaires, par exemple, current_date (), qui agissent de la même manière que curdate (). Dans les situations, ils peuvent tous les deux être échangés.

$ SELECT DADIFF (current_date (), «1980-10-10») comme «résultat»

Utilisation de Dadiff () avec des tables

Jusqu'à présent, nous avons mis en œuvre des commandes Dadiff () simples pour démontrer ses usages. Il est temps de le mettre en action.

J'ai attrapé un exemple de base de données contenant diverses informations sur une certaine entreprise et ses employés pour la démonstration. La base de données d'échantillons est directement disponible à partir d'ici. Nous sélectionnerons les prénoms et les noms de famille des employés de cette base de données et découvrirons combien de temps ils travaillaient jusqu'à présent.

$ Select First_name, Last_name, Dadiff (curdate (), hirdate_date) comme «jours travaillé» des employés;

Dernières pensées

Ce guide démontre avec succès l'utilisation de la fonction Dadiff () dans MySQL. Il calcule la différence entre deux dates et renvoie la valeur comme le nombre de jours. Toutes les démonstrations aident à comprendre le processus de travail de la fonction Dadiff.

Pour en savoir plus sur MySQL, vérifiez ces guides sur la création de tables, le renommer des tables, la gestion des privilèges des utilisateurs, etc.

Happy Computing!