/*
ALTER FUNCTION fn_ContaHoras (@inicio datetime, @final datetime)
RETURNS varchar(MAX)
AS
*/
/*****************************************************
CONTA AS HORAS ÚTEIS ENTRE A DATA INICIAL (@INICIO)
E A DATA FINAL (@FINAL)
*****************************************************/
select dateadd(day,-1,(dateadd(month,1,convert(char(08),getdate(),126)+'01')))
declare @inicio SMALLDATETIME
declare @final SMALLDATETIME
declare @inicio_dia SMALLDATETIME
declare @final_dia SMALLDATETIME
BEGIN
DECLARE @hour VARCHAR(MAX)
DECLARE @i INT
DECLARE @minutos VARCHAR(300)
DECLARE @fimdesemana INT
-- DEFINE A DATA Q DEVEIRA TERMINAR
SELECT @inicio = '2013-05-28 07:00:00.000'
-- DEFINE A DATA Q TERMINOU DE FATO
SELECT @final = '2013-06-01 10:00:00.000'
-- select @inicio = CONVERT(varchar(12), @inicio, 112)
-- select @inicio + '18:00:00'
SELECT @inicio_dia = CONVERT(varchar(12), @inicio, 112)
SELECT @inicio_dia = (@inicio_dia + '18:00:00' )
SELECT @final_dia = CONVERT(varchar(12), @final, 112)
SELECT @final_dia = (@final_dia + '08:00:00' )
-- CONTA OS DIAS UTEIS ENTRE AS DATAS