Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

dnfeitosa

consulta de hora

Recommended Posts

Eu queria saber eh se eh possivel criar uma consulta que filtrasse uma determinada hora registrada no meu banco de dados menos 30 minutos da hora atual...alguma coisa do tipoSELECT * FROM tabela = NOW() - 00:30 (exemplo, essa sintaxe nao deu certo!!)valeu!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A quem interessar, eu consegui encontrar a função que faz esse tipo de consulta:SUBTIME(expr1, expr2)ele subtrai da expressao 1 o valor da expressao 2, por exemploSUBTIME('12:00:00', '00:30:00') -> "11:30:00"essa função aparece no MySQL a partir da versao 4.1.1espero ter ajudado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

DATE_FORMAT(ADDDATE(field, INTERVAL -30 MINUTE), '%Y-%m-%d %H:%i:%s')

DROP TEMPORARY TABLE IF EXISTS events;CREATE TEMPORARY TABLE events (dt DATETIME);INSERT INTO events (dt) VALUES ('2004-01-01 00:01:25');INSERT INTO events (dt) VALUES ('2004-05-01 05:11:25');INSERT INTO events (dt) VALUES ('2004-11-01 14:01:25');INSERT INTO events (dt) VALUES ('2004-01-01 11:22:25');INSERT INTO events (dt) VALUES ('2005-01-22 07:48:56');INSERT INTO events (dt) VALUES ('2004-12-11 01:51:45');INSERT INTO events (dt) VALUES ('2004-06-12 22:08:25');SELECT dt, DATE_FORMAT(ADDDATE(dt, INTERVAL -30 MINUTE), '%Y-%m-%d %H:%i:%s') AS dt_b FROM events ORDER BY dt ASC;

Se depois disso alguem não entender, troca de profissão!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Trabalhando naquele primeiro exemplo que voce deu, creio que nao deu certo pois faltou o WHERE:SELECT * FROM tabela = NOW() - 00:30corrigido:SELECT * FROM tabela WHERE campo_data=(NOW() - #00:30#)Caso esteja usando BD Access ou da Microsoft, creio que poderá utilizar tb a função DateDiff(), que possui a mesma sintaxe que no vb.ficaria assim:SELECT * FROM tabela WHERE DateDiff(Now(),campo_data,"m")=30

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu mesmo!!... mas eu ja tinha conseguido arrumar essa questão da sintaxe...ficou assimSELECT * FROM tabela WHERE data = SUBTIME(NOW(), '00:30:00')valeu memso assim

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.