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

Føj ordensindikatoren til en dato i Oracle

I Oracle Database kan vi bruge TH formatelement for at tilføje ordenstalssuffikset til resultatet af en TO_CHAR() handling ved formatering af datoer.

For eksempel i stedet for at udskrive 10 Feb vi kunne udskrive 10th Feb . Eller i stedet for at udskrive 21 century , kan vi udlæse 21st century . Det samme gælder for stavet datokomponenter. For eksempel i stedet for Twenty One , kan vi udlæse Twenty First .

Eksempel

Her er et eksempel til demonstration:

SELECT TO_CHAR(DATE '2030-12-01', 'Ddth Month')
FROM DUAL;

Resultat:

01st December

Vi kan bruge fm formatmodifikator for at fjerne det indledende nul, hvis det kræves:

SELECT TO_CHAR(DATE '2030-12-01', 'fmDdth Month')
FROM DUAL;

Resultat:

01st December

Bemærk, at ordinaltallets store bogstaver bestemmes af det relevante formatelement (i dette tilfælde Dd del), ikke TH suffiks.

Her er, hvad der sker, når vi ændrer den anden d til store bogstaver:

SELECT TO_CHAR(DATE '2030-12-01', 'fmDDth Month')
FROM DUAL;

Resultat:

01st December

Så selvom vi leverede den th suffiks med små bogstaver, havde det ingen indflydelse på resultatet. Store bogstaver blev bestemt af formatelementet (ikke inklusive fm). formatmodifikator).

Vi kan også tilføje ordenstal, når vi returnerer andre datokomponenter, såsom århundredet:

SELECT TO_CHAR(DATE '2030-12-30', 'Ccth "Century"')
FROM DUAL;

Resultat:

21st Century

Stavede datoer

Vi kan tilføje SP formatelement for at få datodelen stavet ud:

SELECT TO_CHAR(DATE '2030-12-30', 'CCTHSP "Century"')
FROM DUAL;

Resultat:

TWENTY-FIRST Century

Og vi kan bruge store bogstaver efter behov:

SELECT TO_CHAR(DATE '2030-12-30', 'Ccthsp "Century"')
FROM DUAL;

Resultat:

Twenty-First Century

Her er, hvad der sker, når vi udelader TH formatspecifikation:

SELECT TO_CHAR(DATE '2030-12-30', 'Ccsp')
FROM DUAL;

Resultat:

Twenty-One

  1. Hvordan opretter man materialiserede visninger i SQL Server?

  2. Hvordan finder man ikke-eksisterende data fra en anden tabel ved at JOIN?

  3. Hvordan pg_typeof() virker i PostgreSQL

  4. SQLite Bestil efter