SOMAR HORAS CONSIDERANDO VALOR NULO

JONATHANSTECKER 25/10/2010 09:03:08
#355797

Bom dia pessoal,

Estou quebrando minha cabeça com uma função SQL.

No meu sistema tem um botão INICIAR e um botão PARAR.
Botão INICIAR: Cria um novo registro e insere na coluna [Ô]dInicial[Ô] a data e hora atual.
Botão PARAR: No último registro, na coluna [Ô]dFinal[Ô] insere a data e hora atual.
Quero fazer a soma de horas (dFinal - dInicial) onde [Ô]iOrdemCliente = 500005324/10[Ô].

SELECT TIME_FORMAT(SUM(TIMEDIFF(Time(dInicio), Time(dFinal))),[ô]%H:%i[ô])
FROM tPRIORIDADES_Tempo
WHERE sOrdemCliente = [ô]500005324/10[ô]


Problema.: Se o tempo estiver rodando preciso que onde o valor seja = null, referencie como a hora atual. Para que eu possa exibir em um Label o tempo já trabalhado nessa Ordem de Cliente.

[txt-color=#007100]Verão: MySQL 5.0.45[/txt-color]
MARCIO.ROGERIO 25/10/2010 09:17:24
#355799
Resposta escolhida
Olá,

você pode usar a cláusula isnull(campo,getdate())

Até,

Rogério.
JONATHANSTECKER 25/10/2010 09:36:24
#355801
Perfeito Marcio!!!

Tão simples e me deu uma grande dor de cabeça...
Só adaptei um pouco, mas a lógica é essa ai.
Por isso é bom uma visão de fora.

SELECT TIME_FORMAT(SUM(TIMEDIFF(Time(dInicio), IFNULL(dFinal, TIME(NOW())))), [ô]%H:%i[ô])
FROM tPRIORIDADES_Tempo
WHERE sOrdemCliente = [ô]500005324/10[ô]
Tópico encerrado , respostas não são mais permitidas