1
resposta

O ROUND(DATA1, 'MI') só arredondou os segundos diferentemente do explicado na aula

Diferente do explicado na tela aos 08:03 minutos de vídeo, para mim só foi arredondado os segundos e não os minutos, abaixo segue o código utilizado:

SELECT TO_CHAR(ROUND(SYSDATE, 'MI'), 'DD/MM/YYYY HH24:MI:SS') FROM DUAL;

Neste outro código abaixo ele não me trouxe a hora, minutos e segundos:

SELECT ROUND(SYSDATE, 'MI') FROM DUAL;
1 resposta

Olá Renato, tudo bem?

Os minutos são arrendondados de acordo com os segundos, caso seja abaixo de 30 segundos é arredondado para o minuto anterior caso esteja acima dos 30 segundos será arredondado para o minuto posterior. Por exemplo:

  • 14:55:20 será retornado assim: 14:55:00, pois está abaixo dos 30 segundos

  • 14:55:35 será retornado assim: 14:56:00, pois está acima dos 30 segundos

Já o motivo de não ser retornado a hora, minutos e segundos na sua segunda query, é porque o padrão de data no banco de dados Oracle é DD/MM/RR, sem a hora, minutos e segundos, por esse motivo você só consegue que seja retornado a hora, minutos e segundos quando passa algum parâmetro. Então caso queira alterar esse padrão de datas, você pode seguir o passo a passo que passei para você neste outro tópico.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software