Ir para conteúdo
Fórum Script Brasil
  • 0

Sobre Datas


kitsune

Pergunta

Estou com um projeto de banco de dados de estoque de um micro mercado que faz vendas somente para licitações, o meu problema é que eu não sei se há algum comando sql que me auxilie a fazer o seguinte:

-Tenho uma tabela de entrada de produtos em lote de modo que cada lote possui uma validade diferente, só que eu quero um controle destas validades de modo que eu possa selecioná-las antes de tres meses do prazo final de validade, eu estou usando java e Mysql, tentei fazer isso em Java, esstou pensando nisso, mas se houver uma maneira de fazer isso em sql seria até mesmo, mas fácil, espero que alguém me responda logo, pois eu só tenho um mes para terminar este BD. sad.gif

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

/*

Bom darei um toque inicial o resto é sua lógica:


SELECT @DIA:=86400;

Ou seja um dia tem 86.400 seg então criamos a variavbel @DIA para ser utilizada como constante no cálculo// Bom UNIX_TIME_STAMP me retorna número inteiro então vamos juntar 120 dioas a essa variável
SELECT @DATA:=UNIX_TIME_STAMP (CURDATE()) + @DIA*120 AS Total_de_120_dias;

Total_de_120_dias
------------------
1058410800 
------------------
Vamos ver agora adionando meses
SELECT PERIOD_ADD('200303', 4) AS 4_meses;

4_meses
-------------
200307 
---------------

e vai ............... ficando mais fácil
mysql> SELECT nome, aniversario, CURDATE(),
    -> (YEAR(CURDATE())-YEAR(aniversario))
    -> - (RIGHT(CURDATE(),5)<RIGHT(aniversario,5))
    -> AS idade
    -> FROM tabela;
+----------+------------+------------+------+
| nome     | aniversario| CURDATE()  | idade  |
+----------+------------+------------+------+
| Fluffy   | 1993-02-04 | 2003-08-19 |   10 |
| Claws    | 1994-03-17 | 2003-08-19 |    9 |
| Buffy    | 1989-05-13 | 2003-08-19 |   14 |
| Fang     | 1990-08-27 | 2003-08-19 |   12 |
| Bowser   | 1989-08-31 | 2003-08-19 |   13 |
| Chirpy   | 1998-09-11 | 2003-08-19 |    4 |
| Whistler | 1997-12-09 | 2003-08-19 |    5 |
| Slim     | 1996-04-29 | 2003-08-19 |    7 |
| Puffball | 1999-03-30 | 2003-08-19 |    4 |
+----------+------------+------------+------+

*/

Aqui, YEAR() separa a parte do ano de uma data e RIGHT() separa os cinco caracteres mais a direita .

*/

Link para o comentário
Compartilhar em outros sites

  • 0

Oi, obrigada por me responder, eu entendi o que você quis dizer sobre os dias porém, não entendi isso:

CODE

SELECT PERIOD_ADD('200303', 4) AS 4_meses;

4_meses

-------------

200307

---------------

Para que serve esse '200303' ?

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...