sql >> Base de Datos >  >> RDS >> Oracle

Acerca del elemento de formato RM en Oracle

En Oracle Database, el RM El elemento de formato le permite devolver el mes en números romanos cuando usa TO_CHAR() función.

También puedes usar el fm modificador para suprimir cualquier relleno.

Ejemplo

Aquí hay un ejemplo para demostrarlo:

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

Resultado:

08-IV  -2030

En este caso, el número del mes es 04 , y el número romano equivalente es IV .

Minúsculas vs Mayúsculas

Puedes usar rm (en minúsculas) para devolver los números romanos en minúsculas:

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

Resultado:

08-iv  -2030

Quitar relleno

De forma predeterminada, el mes se completa con espacios en blanco hasta la longitud de 4, que es la longitud de viii . Podemos verlo en los ejemplos anteriores.

Para suprimir el relleno, use el fm modificador de formato:

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

Resultado:

08-IV  -2030

Tenga en cuenta que esto suprimirá cualquier relleno de todos los elementos posteriores. En nuestro caso, también se suprimirá el relleno del año. Si nuestro año tiene menos de cuatro dígitos, entonces no tendrá ceros a la izquierda:

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

Resultado:

08-IV-30

Si queremos conservar los ceros iniciales, podemos prefijar YYYY con fm :

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

Resultado:

08-IV-0030

El fm El modificador actúa efectivamente como un interruptor que habilita/deshabilita el modo de llenado.

Si queremos suprimir todo el relleno en la fecha, simplemente podemos anteponer el modelo de formato completo con un solo fm :

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

Resultado:

8-IV-30