sql >> Database teknologi >  >> RDS >> Oracle

2 funktioner til at få året fra en date i Oracle

Nedenfor er to funktioner, der kan bruges til at udtrække året fra en dato i Oracle Database.

EXTRACT() Funktion

Du kan bruge EXTRACT(datetime) funktion til at udtrække forskellige datetime dele fra en datetime værdi. Dette inkluderer året.

Her er et eksempel:

VÆLG UDTRAKT(ÅR FRA DATO '2030-12-25') FRA DOBBELT; 

Resultat:

2030

Det er ÅR nøgleord, der udtrækker årsdelen fra datoen. Vi kan få andre datodele ved at ændre det til det relevante søgeord. For eksempel MONTH , DAG , TIME , MINUTE osv.

Vi kan også bruge funktionen med andre datetime-værdier, såsom TIMESTAMP osv.

Funktionen kan også bruges til at returnere året fra et interval. Se EXTRACT(datetime) Funktion i Oracle for et eksempel.

TO_CHAR(datotid) Funktion

Vi kan også bruge TO_CHAR(datetime) fungere som en alternativ metode til at få året fra en dato.

Denne funktion accepterer datetime eller intervalværdien som sit første argument, og en formatmodel som sit andet argument. Funktionen konverterer derefter værdien til en datatype VARCHAR2 i det angivne format.

Formatmodellen angiver det format, som dato/intervalværdien skal returneres for. Formatmodellen består af et eller flere formatelementer. Dette gør os i stand til omhyggeligt at udforme resultaterne, så de afspejler vores ønskede format.

Hvis vi kun ønsker at returnere året, kan vi bruge ÅÅÅÅ formatelement:

VÆLG TO_CHAR(DATO '2027-10-03', 'ÅÅÅÅ')FRA DOBBELT; 

Resultat:

2027

Vi kan også bruge alternativer til formatmodellen. For eksempel kan vi bruge YY for at angive et tocifret årstal:

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

Resultat:

27

Faktisk kan vi have hvor som helst mellem en og fire Y tegn, afhængigt af vores krav:

SELECT 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 

Inkluder et komma

Vi kan bruge Y,YYY formatelement, hvis vi ønsker at inkludere et komma i outputtet:

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

Resultat:

2.027

Beskriv året

Vi kan endda bruge YEAR formatelement for at returnere året, der er stavet:

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

Resultat:

TYVE SYV OG TYVE

BC Datoer

Vi kan også tage højde for BC-datoer ved at sætte et S foran vores årstalselement . Hvis du gør dette, præfikses resultatet med et minustegn, alt efter hvad der er relevant:

VÆLG 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 bruge BC eller B.C. formatelementer for at tage højde for BC-datoer:

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. TO 50 f.Kr. 
  1. Bruger du LIMIT i GROUP BY for at få N resultater pr. gruppe?

  2. Sådan fungerer current_time i PostgreSQL

  3. Sådan kontrolleres om mysql-databasen eksisterer

  4. Fejl ved brug af mønstermatching, der ikke ligner nogen i PostgreSQL