Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

robson_castro

Tipo de dados Hora

Recommended Posts

Olá pessoal!Que tipo de dados no Sql server guarda somente hora?Defini o campo dessa forma: Hora DateTime só que quando faço uma consulta os dados desse campo são mostrados como 1899-12-30 seguido da hora que inseri. Alguém poderia dar-me uma explicação?Grato.Robson.

Compartilhar este post


Link para o post
Compartilhar em outros sites

infelizmente no SQL server 2000 naum tem um tipo de dado somente com hora, você pode guardar num campo tipo string, criar um tipo de dados seu, ou armazenar no campo datetime e pra recuperar só a hora realizar convert, assim:select convert(varchar(30),getdate(),114) AS [com miliseconds]select convert(varchar(30),getdate(),108) AS [sem miliseconds]select convert(varchar(5),getdate(),108) AS [so hora e minuto]ouvi dizer que no SQL server 2005 terá um tipo de dados somente pra Hora.... mas ainda naum brinquei com o 2005t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

no caso de data e hora eu particularmente uso o campo datetime mesmo e faço as conversões, alias pra data nem precisa fazer conversões se for gravado a hora zerada

Compartilhar este post


Link para o post
Compartilhar em outros sites

e como eu faço pra somar depois as horas exemplo eu tenho varios campos gravando com horas e minutos eu quero fazer um total de todos os meus registros funciona com o campo varchar??

Compartilhar este post


Link para o post
Compartilhar em outros sites

e como eu faço pra somar depois as horas exemplo eu tenho varios campos gravando com horas e minutos eu quero fazer um total de todos os meus registros funciona com o campo varchar??

testei aqui com o tipo de dados datetime e varchar e funfo, veja:
set nocount on--declare @teste table (hora datetime)declare @teste table (hora varchar(10))--dados para testesinsert into @teste (hora) values ('18:20')insert into @teste (hora) values ('01:50')insert into @teste (hora) values ('04:10')--separando as horas dos minutos e somandoselect sum(datepart(hh, hora)) as [Total Horas], 	sum(datepart(mi, hora)) as [Total Minutos]from @teste--dividindo os minutos por 60, a parte inteira adicionando as horas e o resto deixando na parte dos minutosselect sum(datepart(hh, hora)) + sum(datepart(mi, hora))/60 as [Total Horas], 	sum(datepart(mi, hora)) % 60 as [Total Minutos]from @teste

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.