Jump to content


piuiabacaxi

Member Since 25/08/2007
Offline Last Active 04/10/2008, 10:37
-----

Posts I've Made

In Topic: Select

04/10/2008, 10:38

Utilize " ... AND status IN (12, 14)", assim vai retornar os rows em que o status for um dos que você passou.

In Topic: Como Selecionar O Proximo Mês

13/09/2008, 23:46

Seguindo a sua lógica seria

WHERE MONTH(age_data) = MONTH(NOW() + INTERVAL 1 MONTH)

Contudo, como você tá usando a função month() na coluna da tabela, todos os rows precisarão ser lidos para que o mês seja extraído e a partir daí o critério ser avaliada.

Pra evitar isso, você pode tentar:

WHERE age_data BETWEEN NOW() + INTERVAL 1 MONTH - INTERVAL DAY(NOW() + INTERVAL 1 MONTH) - 1 DAY AND LAST_DAY(NOW() + INTERVAL 1 MONTH)

Sendo NOW() + INTERVAL 1 MONTH - INTERVAL DAY(NOW() + INTERVAL 1 MONTH) - 1 DAY uma forma de pegar o primeiro dia do mês que vem; e LAST_DAY(NOW() + INTERVAL 1 MONTH) o último dia do mês que vem.

Essas funções são avaliadas só 1 vez na query, que acabaria sendo executada assim:

WHERE age_data BETWEEN '2008-10-01 23:42:39' AND '2008-10-31'

Se o campo age_data for datetime ao invés de date, você vai precisar de mais algumas mandingas pra transformar a hora da primeira data em 00:00:00 e da segunda em 23:59:59.

Divirta-se!

IPB Skin By Virteq