sql >> Databasteknik >  >> RDS >> Mysql

MAKEDATE() Exempel – MySQL

När du använder MySQL kan du använda MAKEDATE() funktion för att returnera ett datum från delarna år och dag på året.

Du ger med andra ord två argument; en är året och den andra är dagen på året. MAKEDATE() funktion kommer då att returnera datumvärdet baserat på dessa två argument.

Syntax

Syntaxen ser ut så här:

MAKEDATE(year,dayofyear)

Där year är årsdelen och dayofyear är dagen på året.

Exempel 1 – Grundläggande användning

Här är ett exempel att visa.

SELECT MAKEDATE(2021,10);

Resultat:

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

Så därför att 10 betyder den 10:e dagen på året, det betyder att det är den 10:e januari.

Exempel 2 – Ett större värde på året

Här är ett exempel som använder ett större dag-på-år-värde.

SELECT MAKEDATE(2021,350);

Resultat:

+--------------------+
| MAKEDATE(2021,350) |
+--------------------+
| 2021-12-16         |
+--------------------+

Så i det här fallet resulterar årets 350:e dag i den 16:e december.

Du kan också använda värden större än 365 (eller 366 för skottår). Om du gör detta kommer resultatet att flyttas över till ett nytt kalenderår efter behov.

SELECT 
    MAKEDATE(2021,500),
    MAKEDATE(2021,5000);

Resultat:

+--------------------+---------------------+
| MAKEDATE(2021,500) | MAKEDATE(2021,5000) |
+--------------------+---------------------+
| 2022-05-15         | 2034-09-09          |
+--------------------+---------------------+

Exempel 3 – skottår

Tänk på skottår när du använder den här funktionen.

SELECT 
    MAKEDATE(2020,350),
    MAKEDATE(2021,350);

Resultat:

+--------------------+--------------------+
| MAKEDATE(2020,350) | MAKEDATE(2021,350) |
+--------------------+--------------------+
| 2020-12-15         | 2021-12-16         |
+--------------------+--------------------+

I det här fallet är 2020 ett skottår. Och eftersom februari har en extra dag under skottår, påverkar detta resultatet av de återstående värdena för årets dag.

Exempel 4 – Nollvärden

Om du anger ett nollvärde blir resultatet NULL .

SELECT MAKEDATE(2020,0);

Resultat:

+------------------+
| MAKEDATE(2020,0) |
+------------------+
| NULL             |
+------------------+

  1. Vad betyder prefixet N i T-SQL-satser och när ska jag använda det?

  2. Java:Anropar en lagrad procedur i en Oracle-databas

  3. Hur upprätthåller PostgreSQL den UNIKA begränsningen / vilken typ av index använder den?

  4. Hur man lägger till AM/PM till ett tid- eller datumtidsvärde i MariaDB