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

2 funções que obtêm o dia, mês e ano de uma data no Oracle


O banco de dados Oracle tem o TO_CHAR(datetime) função que nos permite obter várias partes de data de um valor de data e hora.

Há também o EXTRACT(datetime) função que extrai uma unidade de data e hora específica (por exemplo, dia, mês, ano, etc).

O TO_CHAR(datetime) Função


Podemos obter o dia, mês e ano de uma data passando o modelo de formato aplicável para o TO_CHAR(datetime) função.

Exemplo:
SELECT TO_CHAR(DATE '2035-09-26', 'Day, DD Month YYYY')
FROM DUAL;

Resultado:
Wednesday, 26 September 2035

Nesse caso, meu modelo de formato especificou várias partes de data; o nome completo do dia, o número do “dia do mês”, o nome do mês e o ano. Qualquer um dos elementos de formato pode ser omitido e qualquer número de outros elementos de formato pode ser adicionado.

Podemos até separar cada componente de data fazendo várias chamadas para a função, cada uma com um elemento de formato diferente:
SELECT 
    TO_CHAR(DATE '2035-09-26', 'Day') AS Day,
    TO_CHAR(DATE '2035-09-26', 'DD') AS DD,
    TO_CHAR(DATE '2035-09-26', 'Month') AS Month,
    TO_CHAR(DATE '2035-09-26', 'YYYY') AS Year
FROM DUAL;

Resultado:
         DAY    DD        MONTH    YEAR 
____________ _____ ____________ _______ 
Wednesday    26    September    2035    

Consulte esta lista completa de elementos de formato de data e hora no Oracle para obter uma lista de elementos de formato que podem ser usados ​​para formatar valores de data e hora com esta função.

O EXTRACT(datetime) Função


Tele EXTRACT(datetime) A função é outra maneira de retornar o dia, mês ou ano de um valor de data e hora. Esta função extrai apenas uma parte da data por vez.

Exemplo:
SELECT EXTRACT(YEAR FROM DATE '2027-10-03')
FROM DUAL;

Resultado:
2027

Neste caso extraí o ano da data.

Aqui está um exemplo que extrai o dia, mês e ano:
SELECT 
    EXTRACT(DAY FROM DATE '2027-10-03') AS Day,
    EXTRACT(MONTH FROM DATE '2027-10-03') AS Month,
    EXTRACT(YEAR FROM DATE '2027-10-03') AS Year
FROM DUAL;

Resultado:
   DAY    MONTH    YEAR 
______ ________ _______ 
     3       10    2027

Consulte Função EXTRACT (datetime) no Oracle para obter uma lista de partes de data que podem ser extraídas com esta função.