DATA E HORA VENCIDAS

MARCELO.VB.PIRA 29/03/2005 20:23:44
#75665
Eu de novo, desta vez com uma dúvida bem facilzinha...

Tipo: quero montar uma consulta usando uma clausula que obedeça os seguintes parametros:

- No BD existe um campo denominado DATA (Em formato TEXTO (DD/MM/AAAA)) e outro campo chamado HORA (Em formato TEXTO (HH:MM:SS))

- No sistema tenho uma variavel denominada DATA_AGORA (Em formato TEXTO (DD/MM/AAAA)) e outra variavel chamada HORA_AGORA (Em formato TEXTO (HH:MM:SS))

preciso construir uma consulta que busque no BD todos os registros que estejam ANTES do tempo marcado pelas variaveis DATA_AGORA e HORA_AGORA.

exemplo:

DATA_AGORA = 15/03/2005
HORA_AGORA = 14:00:00

no BD, o registro com os campos data e hora 15/03/2005 - 03:00:34 entraria na consulta
no BD, o registro com os campos data e hora 10/02/2005 - 07:08:34 entraria na consulta
no BD, o registro com os campos data e hora 01/12/2004 - 13:01:34 entraria na consulta

no BD, o registro com os campos data e hora 15/03/2005 - 14:00:34 não entraria na consulta
no BD, o registro com os campos data e hora 16/03/2005 - 03:20:54 não entraria na consulta
no BD, o registro com os campos data e hora 01/12/2005 - 13:41:33 não entraria na consulta

IMPORTANTE:
Na clausula, teremos que transformar os campos que estão em formato TEXTO em formato DATA e HORA

Será que é difícil??

E deixa agradecer logo agora a colaboração de todos:

O B R I G A D O ! ! ! !

USUARIO.EXCLUIDOS 30/03/2005 06:45:13
#75683
Resposta escolhida
Possibilidades:

Se seu campo DATA for do tipo DATETIME ou SMALLDATETIME
SELECT CONVERT( DATETIME, CONVERT( VARCHAR(10), DATA, 120 ) + HORA )
FROM SuaTabela
WHERE ( DATA > DATA_AGORA AND HORA > HORA_AGORA )
AND ( DATA < DATA_AGORA AND HORA < HORA_AGORA )

Com essa query, será retornado um campo do tipo DATETIME com data e hora

Caso seu campo DATA for VARCHAR, CHAR, etc.. (string), você evita um "CONVERT"

Espero ter ajudado

MARCELO.VB.PIRA 30/03/2005 11:51:28
#75735
vou tentar
MARCELO.VB.PIRA 31/03/2005 00:59:33
#75907
ok... refiz o topico de forma mais explicada e vou fechar este... obrigado a todos, mas nenhuma das opções funcionaram... ha!!! refiz o BD e pus os campos de data e hora no formato correto (date/time)

VALEU!!!
Tópico encerrado , respostas não são mais permitidas