sql >> Databáze >  >> RDS >> MariaDB

Jak MAKEDATE() funguje v MariaDB

V MariaDB MAKEDATE() je vestavěná funkce data a času, která vrací datum na základě roku a dne v roce poskytnutých jako argumenty.

Syntaxe

Syntaxe vypadá takto:

MAKEDATE(year,dayofyear)

Příklad

Zde je příklad:

SELECT MAKEDATE(2030, 10);

Výsledek:

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

A další:

SELECT MAKEDATE(2030, 100);

Výsledek:

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

Vrácení data v budoucím roce

Pokud je druhý argument (den v roce) větší než počet dní v roce, pak je výsledné datum budoucí rok.

Příklad:

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

Výsledek:

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

Nula dnů

Druhý argument (den v roce) musí být větší než 0 nebo výsledek je null .

Příklad:

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

Výsledek:

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

Chybí argument

Volání MAKEDATE() s nesprávným počtem argumentů nebo bez předání jakýchkoli argumentů vede k chybě:

SELECT MAKEDATE();

Výsledek:

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

A další příklad:

SELECT MAKEDATE( 2020, 10, 20 );

Výsledek:

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

Udělejte si čas

Viz také MAKETIME() pro konstrukci časové hodnoty z jejích hodin, minut a sekund.


  1. Java Stored Procedure vs PL/SQL Stored Procedure

  2. Proč používat Select Top 100 Percent?

  3. Jak pozastavit provádění příkazu v PostgreSQL

  4. Vazba parametrů na Oracle Dynamic SQL