Ir para conteúdo

POWERED BY:

Arquivado

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

Alexandre Di Salvo

Where com data atual e hora atual?

Recommended Posts

Salve salve galera.

 

Preciso fazer um select num tabela que guarda eventos. Esses eventos são organizados por data e hora que irão acontecer.

 

Quero trazer num select os dados baseados na minha data atual e na hora atual também.

 

Não tenho idéia de como fazer esse select. Alguma luz?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salve salve galera.

 

Preciso fazer um select num tabela que guarda eventos. Esses eventos são organizados por data e hora que irão acontecer.

 

Quero trazer num select os dados baseados na minha data atual e na hora atual também.

 

Não tenho idéia de como fazer esse select. Alguma luz?

 

Veja se isso te ajuda ou abrirá os caminhos para discussão:

 

mysql> SELECT * FROM tbl_evento;
+-------------+------------+----------+
| evento_nome | data       | hora     |
+-------------+------------+----------+
| EV_1        | 2010-01-01 | 10:00:00 |
| EV_2        | 2010-01-01 | 10:30:00 |
| EV_3        | 2010-01-01 | 11:00:00 |
+-------------+------------+----------+
3 rows in set (0.03 sec)

mysql> SELECT evento_nome
    -> FROM tbl_evento
    -> WHERE data = '2010-01-01'
    ->   AND hora = '10:00:00';
+-------------+
| evento_nome |
+-------------+
| EV_1        |
+-------------+
1 row in set (0.02 sec)

Caso você tenha que pesquisar data e hora em uma coluna com um tipo de dado DATETIME, faça conforme o seguinte exemplo:

 

mysql> SELECT evento_nome
    -> FROM tbl_evento_2
    -> WHERE DATE_FORMAT(datahora, '%d/%m/%Y') = '01/01/2010'
    ->   AND DATE_FORMAT(datahora, '%H:%i:%s') = '11:00:00';
+-------------+
| evento_nome |
+-------------+
| EV_1        |
+-------------+
1 row in set (0.00 sec)

Happy MySQL'ing!! http://forum.imasters.com.br/public/style_emoticons/default/natal_wink.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, com certeza.

Trabalhar com os campos do tipo certo, facilita e muito as querys, além de deixá-las mais rápidas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quero trazer num select os dados baseados na minha data atual e na hora atual também.

 

você pode usar a função: NOW() para saber a data atual.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Passei o campo para TIME.

 

Como eu disse, o select trará um evento que ocorrerá baseado na minha data atual.

 

Pensemos como se fosse um jogo de futebol. Domingo tem um jogo e calendário deve mostrar esse jogo, até que esse jogo aconteça. Quando esse jogo acontecer ele irá trazer outro evento(jogo) do banco de dados.

 

Entenderam o dilema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eis a estrutura:

 

CREATE TABLE `jogos` (
 `id` int(11) NOT NULL auto_increment,
 `time_casa` varchar(50) NOT NULL,
 `time_visitante` varchar(50) NOT NULL,
 `horario` time NOT NULL,
 `data_jogo` date NOT NULL,
 `campeonato` varchar(20) NOT NULL,
 PRIMARY KEY (`id`),
 UNIQUE KEY `data_jogo` (`data_jogo`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

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.