Armazenar valor da Variável
20/07/2015
0
Ola Pessoal Gostaria de saber como eu armazeno o resultado de uma consulta do sql que tem Variável
declare @T int
declare @seg decimal(18,3), @min int, @hor int
set @T = (SELECT sum(DATEPART(SECOND, [Hora_1]) -
(DATEPART(MINUTE, [Hora_1])* 60)-
(DATEPART(HOUR, [Hora_1]))*3600) -
sum(DATEPART(SECOND, [Hora_2]) -
(DATEPART(MINUTE, [Hora_2])* 60)-
(DATEPART(HOUR, [Hora_2]))*3600) -
sum(DATEPART(SECOND, [Hora_3]) -
(DATEPART(MINUTE, [Hora_3])* 60)-
(DATEPART(HOUR, [Hora_3]))*3600) -
sum(DATEPART(SECOND, [Hora_4]) -
(DATEPART(MINUTE, [Hora_4])* 60)-
(DATEPART(HOUR, [Hora_4]))*3600) -
sum(DATEPART(SECOND, [Hora_5]) -
(DATEPART(MINUTE, [Hora_5])* 60)-
(DATEPART(HOUR, [Hora_5]))*3600) -
sum(DATEPART(SECOND, [Hora_6]) -
(DATEPART(MINUTE, [Hora_6])* 60)-
(DATEPART(HOUR, [Hora_6]))*3600) -
sum (DATEPART(SECOND, [Hora_extra_100]) -
(DATEPART(MINUTE, [Hora_extra_100])* 60)-
(DATEPART(HOUR, [Hora_extra_100]))*3600) as 'TempoSegundos'
FROM ponto where registro = @Registro and data = @Data)
set @hor = convert(int, @T /60 / 60)
set @min = convert(int, (@T / 60) - (@hor * 60 ))
set @seg = @T % 60
select convert(varchar(9), convert(int, @hor)) + ':' +
right('00' + convert(varchar(2), convert(int, @min)), 2) + ':' +
right('00' + convert(varchar(6), @seg), 6) as Total
Segue o Exemplo
declare @T int
declare @seg decimal(18,3), @min int, @hor int
set @T = (SELECT sum(DATEPART(SECOND, [Hora_1]) -
(DATEPART(MINUTE, [Hora_1])* 60)-
(DATEPART(HOUR, [Hora_1]))*3600) -
sum(DATEPART(SECOND, [Hora_2]) -
(DATEPART(MINUTE, [Hora_2])* 60)-
(DATEPART(HOUR, [Hora_2]))*3600) -
sum(DATEPART(SECOND, [Hora_3]) -
(DATEPART(MINUTE, [Hora_3])* 60)-
(DATEPART(HOUR, [Hora_3]))*3600) -
sum(DATEPART(SECOND, [Hora_4]) -
(DATEPART(MINUTE, [Hora_4])* 60)-
(DATEPART(HOUR, [Hora_4]))*3600) -
sum(DATEPART(SECOND, [Hora_5]) -
(DATEPART(MINUTE, [Hora_5])* 60)-
(DATEPART(HOUR, [Hora_5]))*3600) -
sum(DATEPART(SECOND, [Hora_6]) -
(DATEPART(MINUTE, [Hora_6])* 60)-
(DATEPART(HOUR, [Hora_6]))*3600) -
sum (DATEPART(SECOND, [Hora_extra_100]) -
(DATEPART(MINUTE, [Hora_extra_100])* 60)-
(DATEPART(HOUR, [Hora_extra_100]))*3600) as 'TempoSegundos'
FROM ponto where registro = @Registro and data = @Data)
set @hor = convert(int, @T /60 / 60)
set @min = convert(int, (@T / 60) - (@hor * 60 ))
set @seg = @T % 60
select convert(varchar(9), convert(int, @hor)) + ':' +
right('00' + convert(varchar(2), convert(int, @min)), 2) + ':' +
right('00' + convert(varchar(6), @seg), 6) as Total
Segue o Exemplo
Ivanilson Almeida
Curtir tópico
+ 0
Responder
Posts
21/07/2015
Jothaz
Sempre que for posta um código ou queyr utilize a tag coe "</>" do primeiro ícone a esquerda.
E sinceramente não entendi o que você quer!
Teria com ser mais claro?
E sinceramente não entendi o que você quer!
Teria com ser mais claro?
Responder
Clique aqui para fazer login e interagir na Comunidade :)