MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

Comment MAKEDATE() fonctionne dans MariaDB

Dans MariaDB, MAKEDATE() est une fonction de date et d'heure intégrée qui renvoie une date, basée sur l'année et le jour de l'année fournis en tant qu'arguments.

Syntaxe

La syntaxe ressemble à ceci :

MAKEDATE(year,dayofyear)

Exemple

Voici un exemple :

SELECT MAKEDATE(2030, 10);

Résultat :

+--------------------+
| MAKEDATE(2030, 10) |
+--------------------+
| 2030-01-10         |
+--------------------+

Et un autre :

SELECT MAKEDATE(2030, 100);

Résultat :

+---------------------+
| MAKEDATE(2030, 100) |
+---------------------+
| 2030-04-10          |
+---------------------+

Renvoyer une date dans une année future

Si le deuxième argument (jour de l'année) est supérieur au nombre de jours de l'année, la date résultante est une année future.

Exemple :

SELECT
    MAKEDATE(2030, 366),
    MAKEDATE(2030, 700),
    MAKEDATE(2030, 7000);

Résultat :

+---------------------+---------------------+----------------------+
| MAKEDATE(2030, 366) | MAKEDATE(2030, 700) | MAKEDATE(2030, 7000) |
+---------------------+---------------------+----------------------+
| 2031-01-01          | 2031-12-01          | 2049-03-01           |
+---------------------+---------------------+----------------------+

Zéro jour

Le deuxième argument (jour de l'année) doit être supérieur à 0 ou le résultat est null .

Exemple :

SELECT
    MAKEDATE(2030, 366),
    MAKEDATE(2030, 700),
    MAKEDATE(2030, 7000);

Résultat :

+---------------------+---------------------+----------------------+
| MAKEDATE(2030, 366) | MAKEDATE(2030, 700) | MAKEDATE(2030, 7000) |
+---------------------+---------------------+----------------------+
| 2031-01-01          | 2031-12-01          | 2049-03-01           |
+---------------------+---------------------+----------------------+

Argument manquant

Appel de MAKEDATE() avec le mauvais nombre d'arguments, ou sans passer d'arguments, génère une erreur :

SELECT MAKEDATE();

Résultat :

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MAKEDATE'

Et un autre exemple :

SELECT MAKEDATE( 2020, 10, 20 );

Résultat :

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MAKEDATE'

Prenez du temps

Voir aussi MAKETIME() pour construire une valeur de temps à partir de ses heures, minutes et secondes.