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 Atilio (Daniel Atilio)
Especialista em Engenharia de Software pela FIB. Entusiasta de soluções Open Source. E blogueiro nas horas vagas.

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