Johnnny Posted December 9, 2011 Report Share Posted December 9, 2011 Eu não sei porquê mas quando eu entro com os dados na function, recebo uma mendagen de erro:Mensagem 102, Nível 15, Estado 1, Linha 1Incorrect syntax near '1985/04/11'.Aqui está o script...Create Function TotalDeHoras(@dt_inicial datetime, @hr_inicial datetime, @dt_final datetime, @hr_final datetime)Returns intasbeginselect @dt_inicial = Convert(datetime,@dt_inicial,101), @hr_inicial = Convert(datetime,@hr_inicial,101), @dt_final = Convert(datetime, @dt_final,101), @hr_final = Convert(datetime,@hr_final,101) declare @dt_total intset @dt_total = (select datediff(hour, @dt_inicial + @hr_inicial, @dt_final + @hr_final)/24)Return @dt_totalend/*exec TotalDeHoras('1985/04/11', '22:00', '2011/12/09', '16:00')*/Desde já eu agradeço ! ABS! Quote Link to comment Share on other sites More sharing options...
0 fulvio Posted December 12, 2011 Report Share Posted December 12, 2011 Bom dia Johnnny, O que está querendo retornar com esta função? Quando você converte apenas horas, o sql por default preenche a data com 1900-01-01.... Fale-me qual o resultado de retorno q deseja q podemos fazer umas adaptações.... rs. Quote Link to comment Share on other sites More sharing options...
Question
Johnnny
Eu não sei porquê mas quando eu entro com os dados na function, recebo uma mendagen de erro:
Mensagem 102, Nível 15, Estado 1, Linha 1
Incorrect syntax near '1985/04/11'.
Aqui está o script...
Create Function TotalDeHoras(@dt_inicial datetime, @hr_inicial datetime, @dt_final datetime, @hr_final datetime)
Returns int
as
begin
select @dt_inicial = Convert(datetime,@dt_inicial,101),
@hr_inicial = Convert(datetime,@hr_inicial,101),
@dt_final = Convert(datetime, @dt_final,101),
@hr_final = Convert(datetime,@hr_final,101)
declare @dt_total int
set @dt_total = (select datediff(hour, @dt_inicial + @hr_inicial, @dt_final + @hr_final)/24)
Return @dt_total
end
/*
exec TotalDeHoras('1985/04/11', '22:00', '2011/12/09', '16:00')
*/
Desde já eu agradeço ! ABS!
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.