sql >> Databasteknik >  >> RDS >> Oracle

2 funktioner för att få året från en dejt i Oracle

Nedan finns två funktioner som kan användas för att extrahera årtalet från ett datum i Oracle Database.

EXTRACT() Funktion

Du kan använda EXTRACT(datetime) funktion för att extrahera olika datetime-delar från ett datetime-värde. Detta inkluderar året.

Här är ett exempel:

VÄLJ EXTRAKT(ÅR FRÅN DATUM '2030-12-25')FRÅN DUBBLA; 

Resultat:

2030

Det är ÅR nyckelord som extraherar årsdelen från datumet. Vi kan få andra datumdelar genom att ändra det till det relevanta sökordet. Till exempel MÅNAD , DAG , HOUR , MINUT , etc.

Vi kan också använda funktionen med andra datetime-värden, såsom TIMESTAMP , etc.

Funktionen kan också användas för att returnera året från ett intervall. Se EXTRACT(datetime) Funktion i Oracle för ett exempel.

TO_CHAR(datumtid) Funktion

Vi kan också använda den TO_CHAR(datetime) fungera som en alternativ metod för att få årtalet från ett datum.

Den här funktionen accepterar datetime eller intervallvärdet som dess första argument och en formatmodell som dess andra argument. Funktionen konverterar sedan värdet till en datatyp VARCHAR2 i det angivna formatet.

Formatmodellen anger formatet som datum/intervallvärdet ska returneras för. Formatmodellen består av ett eller flera formatelement. Detta gör det möjligt för oss att noggrant utforma resultaten för att återspegla vårt önskade format.

Om vi ​​bara vill returnera årtalet kan vi använda ÅÅÅÅ formatelement:

SELECT TO_CHAR(DATE '2027-10-03', 'YYYY')FROM DUAL; 

Resultat:

2027

Vi kan också använda alternativ för formatmodellen. Till exempel kan vi använda YY för att ange ett tvåsiffrigt år:

SELECT TO_CHAR(DATE '2027-10-03', 'YY')FROM DUAL; 

Resultat:

27

Faktum är att vi kan ha någonstans mellan ett och fyra Y tecken, beroende på våra krav:

VÄLJ TO_CHAR(DATE '2027-10-03', 'Y') AS Y, TO_CHAR(DATE '2027-10-03', 'YY') AS YY, TO_CHAR(DATE '2027-10 -03', 'YYY') AS YYY, TO_CHAR(DATE '2027-10-03', 'YYYY') AS YYYYFROM DUAL; 

Resultat:

 Y YY ÅÅÅ ÅÅÅÅ ____ _____ ______ _______ 7 27 027 2027 

Inkludera ett komma

Vi kan använda Y,YYY formatelement om vi vill inkludera ett kommatecken i utdata:

SELECT TO_CHAR(DATE '2027-10-03', 'Y,YYY')FROM DUAL; 

Resultat:

2 027

Beskriv året

Vi kan till och med använda YEAR formatelement för att returnera året stavat:

SELECT TO_CHAR(DATE '2027-10-03', 'YEAR')FROM DUAL; 

Resultat:

TJUGU TJUGU-SJU

BC-datum

Vi kan också tillgodose BC-datum genom att prefixet vårt årsformatelement med en S . Om du gör detta, prefixet resultatet med ett minustecken, som tillämpligt:

VÄLJ TO_CHAR(DATE '-250-10-03', 'SYYYY') AS SYYYY, TO_CHAR(DATE '-250-10-03', 'SYEAR') AS SYEARFROM DUAL; 

Resultat:

 SYYYY SYEAR ________ _____________ -0250 -TWO FIFTY 

Vi kan alternativt använda BC eller B.C. formatelement för att tillgodose BC-datum:

SELECT TO_CHAR(DATE '-250-10-03', 'YYYY BC') AS YYYY, TO_CHAR(DATE '-250-10-03', 'YEAR BC') AS YEAR, TO_CHAR(DATE '250-10-03', 'YYYY BC') AS YYYY, TO_CHAR(DATE '250-10-03', 'YEAR BC') AS YEARFROM DUAL; 

Resultat:

 ÅÅÅÅ ÅR ÅÅÅÅ ÅR __________ _______________ __________ _______________ 0250 f.Kr. TVÅ 50 f.Kr. 
  1. Hitta överlappande datumintervall i PostgreSQL

  2. hur lägger man till anpassad adapter till aktiviteten för att få listan att visas i aktiviteten?

  3. 8 sätt att lägga till dagar till ett datum i MariaDB

  4. Hur man gör en Full Outer Join i MySQL