CONVERTER MINUTOS EM HORAS
Boa tarde Pessoal!
Tô com o seguinte problema.
Trabalho com o SQL Server 2008 R2
para converter minutos em horas:minutos
realizo o seguinte procedimento:
Essa query me retorna:
02:45 - (Duas horas e quarenta e cinco minutos)
porém, se eu coloco @Minutos = [ô]1450,86[ô]
Ela me retorna:
00:00
Alguém saberia me dizer o que preciso alterar na query para que possa me trazer a quantidade de horas e minutos corretas?
Grato
Tô com o seguinte problema.
Trabalho com o SQL Server 2008 R2
para converter minutos em horas:minutos
realizo o seguinte procedimento:
Citação:Declare @Minutos as VARCHAR(40)
Set @Minutos = [ô]165,86[ô]
select CONVERT(NVARCHAR, CONVERT(DATETIME, cast(replace(cast(@Minutos as money)/6000,[ô],[ô],[ô].[ô]) as money)/24), 108) as HorasMinutos
Essa query me retorna:
02:45 - (Duas horas e quarenta e cinco minutos)
porém, se eu coloco @Minutos = [ô]1450,86[ô]
Ela me retorna:
00:00
Alguém saberia me dizer o que preciso alterar na query para que possa me trazer a quantidade de horas e minutos corretas?
Grato
Caramba, que confusão isso. Melhor assim:
declare @minutos as integer
set @minutos = 182
SELECT CONVERT(VARCHAR(5),dateadd(minute,@minutos,0),108)
Você não converteu o valor que eu falei
Tenta converter ele:
1450.86
Tenta converter ele:
1450.86
Simples. Esse valor é vai dar mais de 24 horas, ou seja um dia a mais e portanto não pode ser expresso no formato de horas, mas sim no formato de Data mesmo
mais se você quiser em horas mesmo assim:
dim Temp as long
dim horas as long
dim minutos as long
temp = 1450.86 / 60 [ô]a hora tem 60 minutos
horas = int(temp) [ô]somente as horas
minutos =int(temp * ( temp - int(temp)))
msgbox horas & [Ô] horas e [Ô] & minutos [Ô] & minutos
se estiver errado ou uma maneira de melhorar o código os colegas ai que me corrijam.
dim Temp as long
dim horas as long
dim minutos as long
temp = 1450.86 / 60 [ô]a hora tem 60 minutos
horas = int(temp) [ô]somente as horas
minutos =int(temp * ( temp - int(temp)))
msgbox horas & [Ô] horas e [Ô] & minutos [Ô] & minutos
se estiver errado ou uma maneira de melhorar o código os colegas ai que me corrijam.
Preciso que seja em horas e que seja via SQL e não código VB.
Como faço isso?
Alguém sabe?
Como faço isso?
Alguém sabe?
Você cai querer exibir o valor assim?
24:15
36:44
02:19
Porque se for, vai ter que fazer uma função especÃfica para isso.
24:15
36:44
02:19
Porque se for, vai ter que fazer uma função especÃfica para isso.
Como o Kerplunk disse você vai ter de criar uma funcao pra isso.
então dentro do sql server crie
e chame assim
a funçao de conversão não foi criada por mim não tenho certeza de que funcione corretamente, mas coloquei para que você possa se basear na mesma para facilitar sua vida
então dentro do sql server crie
CREATE FUNCTION dbo.FN_CONVMIN (@MINUTOS int)
RETURNS NVARCHAR(7)
BEGIN
DECLARE @iHoras INTEGER
DECLARE @iMinutos INTEGER
DECLARE @sEdita VARCHAR(7)
SET @iHoras = CAST(ROUND(@MINUTOS/60, 0) AS INT)
SET @iMinutos = @MINUTOS % 60
SET @sEdita = CASE LEN(@iHoras)
WHEN 0 THEN [ô]00[ô]
WHEN 1 THEN [ô]0[ô] + CONVERT(NVARCHAR(1), @iHoras)
ELSE CONVERT(NVARCHAR(4),@iHoras)
END
SET @sEdita = @sEdita + [ô]:[ô] + CASE LEN(@iMinutos)
WHEN 0 THEN [ô]00[ô]
WHEN 1 THEN [ô]0[ô] + CONVERT(NVARCHAR(3), @iMinutos)
ELSE CONVERT(NVARCHAR(4), @iMinutos)
END
IF @sEdita = [ô]00:00[ô] BEGIN SET @sEdita = [ô] [ô] END
RETURN @sEdita
END
e chame assim
SELECT dbo.FN_CONVMIN ([ô]165,86[ô]) FROM tabela
a funçao de conversão não foi criada por mim não tenho certeza de que funcione corretamente, mas coloquei para que você possa se basear na mesma para facilitar sua vida
Boa. é assim que se faz Marcelo. Deu certim.Vlw
Tópico encerrado , respostas não são mais permitidas