Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Fügen Sie den Ordnungsindikator zu einem Datum in Oracle hinzu

In Oracle Database können wir den TH verwenden format-Element, um das Suffix der Ordnungszahl zum Ergebnis eines TO_CHAR() hinzuzufügen Vorgang beim Formatieren von Datumsangaben.

Zum Beispiel anstatt 10 Feb auszugeben wir könnten 10th Feb ausgeben . Oder statt 21 century auszugeben , können wir 21 century ausgeben . Gleiches gilt für buchstabierte Datumskomponenten. Zum Beispiel statt Twenty One , können wir Twenty First ausgeben .

Beispiel

Hier ist ein Beispiel zur Veranschaulichung:

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

Ergebnis:

01st December

Wir können den fm verwenden Formatmodifikator zum Entfernen der führenden Null, falls erforderlich:

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

Ergebnis:

1st December

Beachten Sie, dass die Großschreibung der Ordnungszahl durch das relevante Formatelement bestimmt wird (in diesem Fall das Dd Teil), nicht der TH Suffix.

Folgendes passiert, wenn wir das zweite d ändern in Großbuchstaben:

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

Ergebnis:

1st December

Obwohl wir also den th bereitgestellt haben Suffix in Kleinbuchstaben, es hatte keinen Einfluss auf das Ergebnis. Die Großschreibung wurde durch das Formatelement bestimmt (ohne fm Formatmodifikator).

Wir können die Ordnungszahl auch hinzufügen, wenn wir andere Datumskomponenten wie das Jahrhundert zurückgeben:

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

Ergebnis:

21st Century

Buchstabierte Daten

Wir können den SP hinzufügen format-Element, damit der Datumsteil ausgeschrieben wird:

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

Ergebnis:

TWENTY-FIRST Century

Und wir können die Großschreibung nach Bedarf verwenden:

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

Ergebnis:

Twenty-First Century

Folgendes passiert, wenn wir TH weglassen Formatbezeichner:

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

Ergebnis:

Twenty-One