SQL - Cálculo de tempo - Timer

15/07/2008

0

Olá pessoal. Sou iniciante e estou desenvolvendo uma aplicação HelpDesk em C# usando SQL2005. Estou capturando o tempo que se leva para se atender a um chamado. Porém se um chamado eh aberto durante o horário comercial (antes das 18) e o mesmo não é finalizado durante este período, o tempo de duração do acompanhamento deste se estrapola ou seja, quando eu for fazer a diferenca de tempo entre a abertura e o fechamento do mesmo uso o SQL através do DATEDIFF, o que inclui todo o tempo fora do horário comercial, não refletindo o tempo correto. Alguma idéia de como criar um mecanismo em SQL para que a partir das 18 o timer pare e continue a partir da manha seguinte?

Leandro Borges


Leandroborges

Leandroborges

Responder

Posts

16/11/2008

Renato Tavares

Olá, 8)

Você já tentou utilizar a função WAITFOR do SQL ? :shock:

Segue:

A função WAITFOR suspende a execução dependendo do evento
Os eventos podem ser:
Delay – quantidade de tempo para executar (24h)
Time – especifica o horário em para executar

WAITFOR
Sintaxe:
WAITFOR {DELAY ´time´ | TIME ´time´}

Exemplos:

Exemplo 1: Exibe a hora a cada 2 segundos
DECLARE @A INT
SELECT @A=1

WHILE @A < 5
BEGIN
WAITFOR DELAY ´00:00:02´
SELECT GETDATE()
SELECT @A = @A + 1
END

Exemplo 2: Checa a alocação e uso das páginas do BD
BEGIN
    WAITFOR TIME ´22:00´
    DBCC CHECKALLOC
END

Espero er ajudado..!! :wink:


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar