Format SQL Server 2012 Time (7) to "HH: mm"

tenho colunas para cada dia da semana e quero formatá-las como HH:mm

enter image description here

tentei usar a nova função FORMAT do SQL Server 2012, mas só mostra o valor NULL.

enter image description here

Como posso formatar um time(7) tipo de dados para mostrar como HH:mm?

Author: marc_s, 2014-10-06

5 answers

Deve sempre formatar os seus dados na camada de apresentação. Se houver circunstâncias em que o datatype de tempo não pode ser formatado pela sua IU, você pode lançar o valor para um DATETIME que provavelmente será suportado.

SELECT CAST(TimeColumn AS DATETIME)
FROM MyTable
 2
Author: DavidG, 2014-10-06 10:47:16

Pode usar o formato em Ms-sql para obter o formato de tempo que necessitar

Exemplo: Seleccione o formato (GETDATE (), 'hh:mm')

Resultado: 07:52

Para as suas colunas, pode substituir o GETDATE () pelo nome da sua coluna como em baixo -

Exemplo: Seleccione o formato (hora, 'hh:mm')

 1
Author: Heemanshu Bhalla, 2016-09-28 14:26:20
DECLARE @mytime Time(7)
set  @mytime=GETDATE()
select SUBSTRING(CONVERT(CHAR(50),CAST(@mytime as time)),1,5)
 0
Author: Ganesh_Devlekar, 2014-10-06 10:48:21

Só para adicionar um pouco à resposta já escolhida.

Dado que está a usar os Serviços de relatórios, pode fazer a formatação com o formato ():

=Format(Now(), "hh:mm")
 0
Author: mxix, 2014-10-06 10:56:36
SELECT left(TimeColumn,5) as Time
FROM MyTable
 0
Author: Krzysztof_G, 2016-04-14 08:12:09