dnfeitosa 0 Denunciar post Postado Fevereiro 9, 2005 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
FabricioGomes 0 Denunciar post Postado Fevereiro 9, 2005 voce tem que fazer algo do tipo select * from tabela where hora = horaatual - 30 onde a parte em negrito tem que vir de uma variavel... Compartilhar este post Link para o post Compartilhar em outros sites
dnfeitosa 0 Denunciar post Postado Fevereiro 9, 2005 a hora atual beleza, mas como seria a variavel do - 30?? Compartilhar este post Link para o post Compartilhar em outros sites
dnfeitosa 0 Denunciar post Postado Fevereiro 10, 2005 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
Sanctus 0 Denunciar post Postado Fevereiro 15, 2005 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
micox 2 Denunciar post Postado Março 11, 2005 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
dnfeitosa 0 Denunciar post Postado Março 11, 2005 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