Ir para conteúdo

POWERED BY:

Arquivado

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

trvanjos

Relatório

Recommended Posts

Boa tarde a todos,

 

Venho aqui pedir uma ajuda,

 

Preciso fazer uma com consulta em MySQL que liste 15 dias depois e 15 dias antes do dia atual.

Consegui listar os do 15 dias depois vejam:

 

select campo_tabela, date_format(campo_data,'%d/%m/%Y')as data from tabela

where day(campo_data) = day(curdate()+15)

 

Está correto ? Alguém pode me dar uma mão?

 

Obrigado !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem eu não estou a perceber...

 

Como é que queres obter registos no futuro? Você que mostrar os registos 15 dias depois da data em que estamos... a não ser que tenha criado registos com datas adiantadas.

 

15 dias antes da data actual é possível, porque é passado.

 

A sua Query também me parece mal, pois você só mostra os registos que tem a data actual + 15 dias.

 

Comparar apenas os dias também não é correcto pq tem que ter em conta os meses e anos...

 

Se puder explicar melhor o problema e meter a tabela aqui será mais fácil de lhe dar a resolução.

 

Cumps :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem eu não estou a perceber...

 

Como é que queres obter registos no futuro? Você que mostrar os registos 15 dias depois da data em que estamos... a não ser que tenha criado registos com datas adiantadas.

 

15 dias antes da data actual é possível, porque é passado.

 

A sua Query também me parece mal, pois você só mostra os registos que tem a data actual + 15 dias.

 

Comparar apenas os dias também não é correcto pq tem que ter em conta os meses e anos...

 

Se puder explicar melhor o problema e meter a tabela aqui será mais fácil de lhe dar a resolução.

 

Cumps :)

 

Primeiramente obrigado por responder,

 

Bom vamos la, na minha tabela tenho registros de vários anos 1998-1999 etc etc, eu tenho que desprezar o ano e ficar só com o o dia e mês exemplo:

 

hoje é dia 6 quero mostrar os registros de 15 dias depois do dia 6. 06/09 + 15 = 21/09, então irei mostrar apenas os registros que começarem com o dia 21 e ao contrário a mesma coisa exemplo:

 

hoje é dia 06/09-15 = 22/08 irei exibir apenas os registros do dia 22/08

 

Fui mais claro?

 

Obrigado !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem eu não estou a perceber...

 

Como é que queres obter registos no futuro? Você que mostrar os registos 15 dias depois da data em que estamos... a não ser que tenha criado registos com datas adiantadas.

 

15 dias antes da data actual é possível, porque é passado.

 

A sua Query também me parece mal, pois você só mostra os registos que tem a data actual + 15 dias.

 

Comparar apenas os dias também não é correcto pq tem que ter em conta os meses e anos...

 

Se puder explicar melhor o problema e meter a tabela aqui será mais fácil de lhe dar a resolução.

 

Cumps :)

 

Primeiramente obrigado por responder,

 

Bom vamos la, na minha tabela tenho registros de vários anos 1998-1999 etc etc, eu tenho que desprezar o ano e ficar só com o o dia e mês exemplo:

 

hoje é dia 6 quero mostrar os registros de 15 dias depois do dia 6. 06/09 + 15 = 21/09, então irei mostrar apenas os registros que começarem com o dia 21 e ao contrário a mesma coisa exemplo:

 

hoje é dia 06/09-15 = 22/08 irei exibir apenas os registros do dia 22/08

 

Fui mais claro?

 

Obrigado !

 

Ah já percebi!

 

Sendo assim, a query está bem.. deve é comparar também o mes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem eu não estou a perceber...

 

Como é que queres obter registos no futuro? Você que mostrar os registos 15 dias depois da data em que estamos... a não ser que tenha criado registos com datas adiantadas.

 

15 dias antes da data actual é possível, porque é passado.

 

A sua Query também me parece mal, pois você só mostra os registos que tem a data actual + 15 dias.

 

Comparar apenas os dias também não é correcto pq tem que ter em conta os meses e anos...

 

Se puder explicar melhor o problema e meter a tabela aqui será mais fácil de lhe dar a resolução.

 

Cumps :)

 

Primeiramente obrigado por responder,

 

Bom vamos la, na minha tabela tenho registros de vários anos 1998-1999 etc etc, eu tenho que desprezar o ano e ficar só com o o dia e mês exemplo:

 

hoje é dia 6 quero mostrar os registros de 15 dias depois do dia 6. 06/09 + 15 = 21/09, então irei mostrar apenas os registros que começarem com o dia 21 e ao contrário a mesma coisa exemplo:

 

hoje é dia 06/09-15 = 22/08 irei exibir apenas os registros do dia 22/08

 

Fui mais claro?

 

Obrigado !

 

Ah já percebi!

 

Sendo assim, a query está bem.. deve é comparar também o mes

 

O mês atual com o da tabela ?

Compartilhar este post


Link para o post
Compartilhar em outros sites
... 15 dias depois e 15 dias antes do dia atual. ...

 

 

 

select campo_tabela, date_format(campo_data,'%d/%m/%Y')as data from tabela
where day(campo_data) between day(curdate()-15) and  day(curdate()+15) 

Compartilhar este post


Link para o post
Compartilhar em outros sites
... 15 dias depois e 15 dias antes do dia atual. ...

 

 

 

select campo_tabela, date_format(campo_data,'%d/%m/%Y')as data from tabela
where day(campo_data) between day(curdate()-15) and  day(curdate()+15) 

 

Obrigado rmlm e Motta,

pela ajuda, não obtive sucesso na consulta, mas o fórum está de parabéns em alguns minutos fui respondido !

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

:)

 

select campo_tabela, date_format(campo_data,'%d/%m/%Y')as data from tabela
where campo_data between curdate()-15 and curdate()+15

Compartilhar este post


Link para o post
Compartilhar em outros sites

:)

 

select campo_tabela, date_format(campo_data,'%d/%m/%Y')as data from tabela
where campo_data between curdate()-15 and curdate()+15

 

Perfeito !

 

Obrigado Motta !

 

Quando eu tento ver se tem algum registro de 15 dias antes(-15) o MySQL me volta a consulta vazia, sem nenhum resultado porém quando ponho 15 dias depois (+15) ele me volta todos os dias 21 da tabela.

 

A minha pergunta é, o MySQL quando subtraio -15 do dia ele muda de mês 06/09 - 15 = 22/08 porém não me retorna nenhum resultado, o mesmo ocorre quando tento colocar +30 vejam :

 

select date_format(datanasc,'%d/%m/%Y')as data from alunos

where day(datanasc) = day(curdate()-15)

essa consulta não me volta nada

 

select date_format(datanasc,'%d/%m/%Y')as data from alunos

where day(datanasc) = day(curdate()+15)

essa me volta todos os registros do dia 21.

 

 

Eu tenho que diferenciar o mês ?

 

Obrigado !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia,

Testei sem a condição de data e o mesmo não me retorna nenhum valor, dos 15 dias antes !

Continua a mesma coisa, se eu colocar +15 ele me mostra todos os registros do dia 23.

 

Será que ele não está mostrando nenhum registro porque ele retorna um número negativo ?

08 - 15 = -7, e não existe dia negativo !

 

É isso ?

 

Obrigado pela atenção

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Motta, tudo bem ?

 

Há registros, pois quando faço um Select especificando o dia e mês ele me retorna os registros do dia 07/08

 

Abraços

 

 

Obrigado !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Minha pergunta é, se você rodar a query

 

select campo_tabela, date_format(campo_data,'%d/%m/%Y')as data from tabela
order by campo_data

 

existem registros na condição de 15 dias antes ? 15 dias após ?

 

pois creio que a condição

 

where campo_data between curdate()-15 and curdate()+15

 

funcione.

 

em todo caso teste com adddate e date-sub.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Minha pergunta é, se você rodar a query

 

select campo_tabela, date_format(campo_data,'%d/%m/%Y')as data from tabela
order by campo_data

 

existem registros na condição de 15 dias antes ? 15 dias após ?

 

pois creio que a condição

 

where campo_data between curdate()-15 and curdate()+15

 

funcione.

 

em todo caso teste com adddate e date-sub.

 

Sim, há registros mas enfim vou testar essas últimas alternativas que você me passou.

Sem mais.

 

Obrigado Motta !

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.