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

Über das RM-Formatelement in Oracle

In der Oracle-Datenbank der RM format-Element ermöglicht es Ihnen, den Monat in römischen Ziffern zurückzugeben, wenn Sie TO_CHAR() verwenden Funktion.

Sie können auch den fm verwenden Modifikator, um jegliche Auffüllung zu unterdrücken.

Beispiel

Hier ist ein Beispiel zur Veranschaulichung:

SELECT 
    TO_CHAR(date '2030-04-08', 'DD-RM-YYYY')
FROM DUAL;

Ergebnis:

08-IV  -2030

In diesem Fall ist die Monatsnummer 04 , und die römische Entsprechung ist IV .

Kleinbuchstaben vs. Großbuchstaben

Sie können rm verwenden (in Kleinbuchstaben), um die römischen Ziffern in Kleinbuchstaben zurückzugeben:

SELECT 
    TO_CHAR(date '2030-04-08', 'DD-rm-YYYY')
FROM DUAL;

Ergebnis:

08-iv  -2030

Polsterung entfernen

Standardmäßig wird der Monat mit nachgestellten Leerzeichen bis zu einer Länge von 4 aufgefüllt, was der Länge von viii entspricht . Wir können das in den obigen Beispielen sehen.

Um das Auffüllen zu unterdrücken, verwenden Sie den fm Formatmodifikator:

SELECT 
    TO_CHAR(date '2030-04-08', 'DD-fmRM-YYYY')
FROM DUAL;

Ergebnis:

08-IV  -2030

Beachten Sie, dass dadurch jegliche Auffüllung von allen nachfolgenden Elementen unterdrückt wird. In unserem Fall wird auch das Auffüllen des Jahres unterdrückt. Wenn unser Jahr weniger als vier Ziffern lang ist, hat es keine führenden Nullen:

SELECT 
    TO_CHAR(date '0030-04-08', 'DD-fmRM-YYYY')
FROM DUAL;

Ergebnis:

08-IV-30

Wenn wir die führenden Nullen beibehalten wollen, können wir YYYY voranstellen mit fm :

SELECT 
    TO_CHAR(date '0030-04-08', 'DD-fmRM-fmYYYY')
FROM DUAL;

Ergebnis:

08-IV-0030

Der fm Modifikator wirkt effektiv wie ein Schalter, der den Füllmodus aktiviert/deaktiviert.

Wenn wir alle Auffüllungen im Datum unterdrücken wollen, können wir dem gesamten Formatmodell einfach ein einzelnes fm voranstellen :

SELECT 
    TO_CHAR(date '0030-04-08', 'fmDD-RM-YYYY')
FROM DUAL;

Ergebnis:

8-IV-30