sql >> Database teknologi >  >> RDS >> MariaDB

Sådan fungerer MAKEDATE() i MariaDB

I MariaDB, MAKEDATE() er en indbygget dato- og klokkeslætsfunktion, der returnerer en dato baseret på året og dagen i året, der er angivet som argumenter.

Syntaks

Syntaksen ser sådan ud:

MAKEDATE(year,dayofyear)

Eksempel

Her er et eksempel:

SELECT MAKEDATE(2030, 10);

Resultat:

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

Og endnu en:

SELECT MAKEDATE(2030, 100);

Resultat:

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

Returner en dato i et kommende år

Hvis det andet (dag i året) argument er større end antallet af dage i året, er den resulterende dato et fremtidigt år.

Eksempel:

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

Resultat:

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

Nul dage

Det andet (dag i året) argument skal være større end 0 eller resultatet er null .

Eksempel:

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

Resultat:

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

Manglende argument

Kalder MAKEDATE() med det forkerte antal argumenter, eller uden at sende nogen argumenter, resulterer det i en fejl:

SELECT MAKEDATE();

Resultat:

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

Og endnu et eksempel:

SELECT MAKEDATE( 2020, 10, 20 );

Resultat:

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

Lav en tid

Se også MAKETIME() til at konstruere en tidsværdi ud fra dens timer, minutter og sekunder.


  1. Sådan gør du RAND() deterministisk i SQL Server

  2. Opdatering af en tabel i Oracle, hvis en feltværdi er nul, og afgør, at opdateringen er vellykket

  3. Hvordan kan jeg rydde SQL Server-forespørgselscachen?

  4. SQL Server-systemdatabaser – Gendan systemdatabaser