Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Sobre o elemento de formato RM no Oracle


No Oracle Database, o RM elemento de formato permite retornar o mês em algarismos romanos ao usar o TO_CHAR() função.

Você também pode usar o fm modificador para suprimir qualquer preenchimento.

Exemplo


Segue um exemplo para demonstrar:
SELECT 
    TO_CHAR(date '2030-04-08', 'DD-RM-YYYY')
FROM DUAL;

Resultado:
08-IV  -2030

Nesse caso, o número do mês é 04 , e o equivalente numeral romano é IV .

Minúsculas x Maiúsculas


Você pode usar rm (em minúsculas) para retornar os algarismos romanos em minúsculas:
SELECT 
    TO_CHAR(date '2030-04-08', 'DD-rm-YYYY')
FROM DUAL;

Resultado:
08-iv  -2030

Remover preenchimento


Por padrão, o mês é preenchido com espaços em branco até o comprimento de 4, que é o comprimento de viii . Podemos ver isso nos exemplos acima.

Para suprimir o preenchimento, use o fm modificador de formato:
SELECT 
    TO_CHAR(date '2030-04-08', 'DD-fmRM-YYYY')
FROM DUAL;

Resultado:
08-IV-2030

Observe que isso suprimirá qualquer preenchimento de todos os elementos subsequentes. No nosso caso, o preenchimento também será suprimido a partir do ano. Se o nosso ano tiver menos de quatro dígitos, ele não terá zeros à esquerda:
SELECT 
    TO_CHAR(date '0030-04-08', 'DD-fmRM-YYYY')
FROM DUAL;

Resultado:
08-IV-30

Se quisermos manter os zeros à esquerda, podemos prefixar YYYY com fm :
SELECT 
    TO_CHAR(date '0030-04-08', 'DD-fmRM-fmYYYY')
FROM DUAL;

Resultado:
08-IV-0030

O fm modificador atua efetivamente como um interruptor que ativa/desativa o modo de preenchimento.

Se quisermos suprimir todo o preenchimento na data, podemos simplesmente preceder todo o modelo de formato com um único fm :
SELECT 
    TO_CHAR(date '0030-04-08', 'fmDD-RM-YYYY')
FROM DUAL;

Resultado:
8-IV-30