I Oracle Database er RM
formatelement giver dig mulighed for at returnere måneden i romertal, når du bruger TO_CHAR()
funktion.
Du kan også bruge fm
modifikator for at undertrykke enhver polstring.
Eksempel
Her er et eksempel til demonstration:
SELECT
TO_CHAR(date '2030-04-08', 'DD-RM-YYYY')
FROM DUAL;
Resultat:
08-IV -2030
I dette tilfælde er månedsnummeret 04
, og romertalsækvivalenten er IV
.
Små bogstaver vs. store bogstaver
Du kan bruge rm
(med små bogstaver) for at returnere romertal med små bogstaver:
SELECT
TO_CHAR(date '2030-04-08', 'DD-rm-YYYY')
FROM DUAL;
Resultat:
08-iv -2030
Fjern polstring
Som standard er måneden polstret med efterfølgende blanks til længden 4, hvilket er længden af viii
. Det kan vi se i ovenstående eksempler.
Brug fm
for at undertrykke polstringen formatmodifikator:
SELECT
TO_CHAR(date '2030-04-08', 'DD-fmRM-YYYY')
FROM DUAL;
Resultat:
08-IV-2030
Bemærk, at dette vil undertrykke enhver polstring fra alle efterfølgende elementer. I vores tilfælde vil polstring også blive undertrykt fra året. Hvis vores årstal er mindre end fire cifre langt, vil det ikke have nogen foranstillede nuller:
SELECT
TO_CHAR(date '0030-04-08', 'DD-fmRM-YYYY')
FROM DUAL;
Resultat:
08-IV-30
Hvis vi ønsker at beholde de foranstillede nuller, kan vi præfikse YYYY
med fm
:
SELECT
TO_CHAR(date '0030-04-08', 'DD-fmRM-fmYYYY')
FROM DUAL;
Resultat:
08-IV-0030
fm
modifier fungerer effektivt som en kontakt, der aktiverer/deaktiverer udfyldningstilstand.
Hvis vi ønsker at undertrykke al udfyldning i datoen, kan vi blot sætte hele formatmodellen foran med en enkelt fm
:
SELECT
TO_CHAR(date '0030-04-08', 'fmDD-RM-YYYY')
FROM DUAL;
Resultat:
8-IV-30