(Resolvido) Como se faz um select comparando datas no scriptcase?

(Reação Web) #1

Bom dia Galera,
estou precisando fazer um select onde mostre todos os produtos que vão vencer num prazo máximo de 30 dias, então se daqui a 30 dias um produto for vencer, preciso que ele seja listado em uma consulta!

No PHP geralmente eu utilizava variáveis, mas to querendo montar um select em mysql sem a utilização de uma variável em PHP, teria como?

(Reação Web) #2

Achei uma solução conversando com outro programador!

Link: http://dev.mysql.com/doc/refman/4.1/pt/date-calculations.html

Basta você utilizar a função MONTH()

exemplo:

SELECT
Produto,
Data_Vencimento
FROM
Produtos
WHERE
MONTH(Data_Vencimento) = 12

(George Carvalho) #3

Este select não vai atender a sua necessidade.

Teste:

SELECT * FROM produtos WHERE data_vencimento <= (CURRENT_DATE + 30)

(Reação Web) #4

Obrigado, realmente é melhor!

(danyx) #5

No meu caso os convenios tem validade de 01 ano, portanto quero fazer uma query da data atual >= 15 dias restando do vencimento.

SELECT vigencia_termino
FROM
convenio
WHERE
vigencia_termino >= (CURRENT_DATE + 15)

No entanto está vindo todas as datas por exemplo 2013, 2014 gostaria de viesse só com vencimento de 15 dias vencendo.

(Reação Web) #6

danyx, coloca um campo baixa e faz um select onde a baixa for 0 (zero) e todos os já pagos, você apenas da um update na hora de dar baixa e coloca o campo baixa = 1
Ficando:
SELECT * FROM produtos WHERE baixa = 0 and data_vencimento <= (CURRENT_DATE + 30)