Usuário com melhor resposta
Conversão de data

Pergunta
-
Estou usando
SELECT
registro,convert(datetime,execucoes_data_0,104)
,(registro - convert(datetime,execucoes_data_0,104))
return
1900-01-01 02:50:01.000
1899-12-31 23:45:42.000
1899-12-17 04:31:49.667
1899-12-23 09:55:08.930
preciso do retorno em horas,mm,ss:sss e não consigo e detalhe temos registros que passan de 24 horas ele subtriai em dias, preciso que seja no formato horas,mm,ss:sss mesmo maior que 24hr
Alguém já passou por isso testei várias maneiras e não consegui
Respostas
-
Boa noite,
Acho que vai ser necessário fazer a conversão do resultado para varchar para poder apresentar as horas acima de 24. Ex:
with CTE_Calc as ( SELECT registro, convert(datetime, execucoes_data_0, 104) as execucoes_data, registro - convert(datetime, execucoes_data_0, 104) as diferenca FROM --... ) SELECT registro, execucoes_data, convert(varchar(10), DATEDIFF(DAY, 0, diferenca) * 24 + DATEPART(HOUR, diferenca)) + RIGHT(convert(char(12), getdate(), 114), 10) FROM CTE_Calc
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
- Marcado como Resposta claudiof terça-feira, 22 de dezembro de 2020 14:20
Todas as Respostas
-
Boa noite,
Acho que vai ser necessário fazer a conversão do resultado para varchar para poder apresentar as horas acima de 24. Ex:
with CTE_Calc as ( SELECT registro, convert(datetime, execucoes_data_0, 104) as execucoes_data, registro - convert(datetime, execucoes_data_0, 104) as diferenca FROM --... ) SELECT registro, execucoes_data, convert(varchar(10), DATEDIFF(DAY, 0, diferenca) * 24 + DATEPART(HOUR, diferenca)) + RIGHT(convert(char(12), getdate(), 114), 10) FROM CTE_Calc
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
- Marcado como Resposta claudiof terça-feira, 22 de dezembro de 2020 14:20
-
Boa noite,
Acho que vai ser necessário fazer a conversão do resultado para varchar para poder apresentar as horas acima de 24. Ex:
with CTE_Calc as ( SELECT registro, convert(datetime, execucoes_data_0, 104) as execucoes_data, registro - convert(datetime, execucoes_data_0, 104) as diferenca FROM --... ) SELECT registro, execucoes_data, convert(varchar(10), DATEDIFF(DAY, 0, diferenca) * 24 + DATEPART(HOUR, diferenca)) + RIGHT(convert(char(12), getdate(), 114), 10) FROM CTE_Calc
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
Claudio,
Vale ressaltar que a função Convert() nos permite utilizar diversos tipos de formatadores de estilos de apresentação de valores, os quais são aplicados somente no tratamento do dados para ser evidenciado em tela seja diretamente no Management Studio ou na sua aplicação.
Caso queira saber mais sobre estes formatadores de estilo, acesse a documentação oficial das funções Convert() e Cast()
Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
-
Boa noite,
Acho que vai ser necessário fazer a conversão do resultado para varchar para poder apresentar as horas acima de 24. Ex:
with CTE_Calc as ( SELECT registro, convert(datetime, execucoes_data_0, 104) as execucoes_data, registro - convert(datetime, execucoes_data_0, 104) as diferenca FROM --... ) SELECT registro, execucoes_data, convert(varchar(10), DATEDIFF(DAY, 0, diferenca) * 24 + DATEPART(HOUR, diferenca)) + RIGHT(convert(char(12), getdate(), 114), 10) FROM CTE_Calc
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
Claudio,
Vale ressaltar que a função Convert() nos permite utilizar diversos tipos de formatadores de estilos de apresentação de valores, os quais são aplicados somente no tratamento do dados para ser evidenciado em tela seja diretamente no Management Studio ou na sua aplicação.
Caso queira saber mais sobre estes formatadores de estilo, acesse a documentação oficial das funções Convert() e Cast()
Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]