Autor Tópico: (Resolvido) Como se faz um select comparando datas no scriptcase?  (Lida 3169 vezes)

Reação Web

  • Intermediário
  • ***
  • Mensagens: 164
(Resolvido) Como se faz um select comparando datas no scriptcase?
« Online: Dezembro 15, 2011, 10:11:17 am »
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?
« Última modificação: Dezembro 15, 2011, 10:28:53 am por Reação Web »

Reação Web

  • Intermediário
  • ***
  • Mensagens: 164
Re:como se faz um select comparando datas no scriptcase?
« Responder #1 Online: Dezembro 15, 2011, 10:28:35 am »
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

  • Expert
  • *****
  • Mensagens: 1369
    • Email
Re:(Resolvido) Como se faz um select comparando datas no scriptcase?
« Responder #2 Online: Dezembro 15, 2011, 10:49:31 am »
Este select não vai atender a sua necessidade.

Teste:

SELECT * FROM produtos WHERE data_vencimento <= (CURRENT_DATE + 30)
« Última modificação: Dezembro 15, 2011, 10:56:16 am por George Carvalho »
George Carvalho
Porto de Galinhas/PE

Reação Web

  • Intermediário
  • ***
  • Mensagens: 164
Re:(Resolvido) Como se faz um select comparando datas no scriptcase?
« Responder #3 Online: Dezembro 15, 2011, 11:04:16 am »
Obrigado, realmente é melhor!

danyx

  • Novato
  • *
  • Mensagens: 43
    • Email
Re:(Resolvido) Como se faz um select comparando datas no scriptcase?
« Responder #4 Online: Março 07, 2012, 10:49:05 am »
Este select não vai atender a sua necessidade.

Teste:

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

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

  • Intermediário
  • ***
  • Mensagens: 164
Re:(Resolvido) Como se faz um select comparando datas no scriptcase?
« Responder #5 Online: Março 14, 2012, 10:11:56 am »
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)