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

Informazioni sull'elemento del formato RM in Oracle

In Oracle Database, il RM L'elemento format consente di restituire il mese in numeri romani quando si utilizza TO_CHAR() funzione.

Puoi anche usare il fm modificatore per eliminare qualsiasi riempimento.

Esempio

Ecco un esempio da dimostrare:

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

Risultato:

08-IV  -2030

In questo caso, il numero del mese è 04 , e il numero romano equivalente è IV .

minuscole vs maiuscole

Puoi usare rm (in minuscolo) per restituire i numeri romani in minuscolo:

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

Risultato:

08-iv  -2030

Rimuovi imbottitura

Per impostazione predefinita, il mese viene riempito con spazi finali fino alla lunghezza di 4, che è la lunghezza di viii . Possiamo vederlo negli esempi precedenti.

Per eliminare il riempimento, usa il fm modificatore di formato:

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

Risultato:

08-IV-2030

Nota che questo eliminerà qualsiasi riempimento da tutti gli elementi successivi. Nel nostro caso, anche il padding sarà soppresso dall'anno. Se il nostro anno è lungo meno di quattro cifre, non avrà zeri iniziali:

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

Risultato:

08-IV-30

Se vogliamo mantenere gli zeri iniziali, possiamo anteporre YYYY con fm :

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

Risultato:

08-IV-0030

Il fm modificatore agisce effettivamente come un interruttore che abilita/disabilita la modalità di riempimento.

Se vogliamo eliminare tutto il riempimento nella data, possiamo semplicemente anteporre l'intero modello di formato con un singolo fm :

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

Risultato:

8-IV-30