Convertendo Valor Decimal para Hora em SQL Server

Hoje vou mostrar como converter um valor decimal (numérico) para hora em SQL Server.

Pode ser necessário, fazer contas e cálculos utilizando números decimais, e depois transformá-los em horas.

Por exemplo, 15 minutos seriam 25 em valor decimal, enquanto 60 minutos seriam 100 em valor decimal.

Para resolver isso, basta pegar o valor decimal, dividir por 24 e converter para o padrão de data e hora do SQL Server.

Abaixo um exemplo.

SELECT
CONVERT(NVARCHAR, CONVERT(DATETIME, ROUND(0.25/24, 5)), 108) AS HOR15,
CONVERT(NVARCHAR, CONVERT(DATETIME, ROUND(0.50/24, 5)), 108) AS HOR30,
CONVERT(NVARCHAR, CONVERT(DATETIME, ROUND(0.75/24, 5)), 108) AS HOR45,
CONVERT(NVARCHAR, CONVERT(DATETIME, ROUND(1.00/24, 5)), 108) AS HOR60

No exemplo acima, é demonstrado como converter valores em decimal para hora.

Exemplo de conversão

Referência:
scriptbrasil.com.br

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

2 Responses

  1. Olá.

    Convertendo 2 (decimal para hora) retorna 01:59:59.

    SELECT CONVERT(NVARCHAR, CONVERT(DATETIME, ROUND(2.00/24, 5)), 108) AS HOR60

Deixe uma resposta

Terminal de Informação