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

Aniversários... 'problemas'


[ GuTo ]

Pergunta

Fala galera!

Fazia tempo q eu não tinha alguma dúvida...

Eu quero exibir na página principal do meu site os 5 próximos membros a comemorar aniversário.

Só que tem um problema.

O campo nascimento (Data/Hora) do BD, está no formato dd/mm/aaaa né.

E do que eu preciso é a penas do dd/mm.

Na data atual eu consigo fazer a formatação, através de uma função, deixando a data atual no formatado dd/mm.

Ok.

Mas dae, como faço na SQL pra selecionar isso?

Vejam a função pra formatar datas que fiz primeiro.

<%
dim dd, mm, aa
function FormataData(data)
dd = day(data)
mm = month(data)
aa = year(data)

if len(dd) = 1 then dd = "0" & dd
if len(mm) = 1 then mm = "0" & mm

FormataData = cstr(dd & "/" & mm & "/" & aa)
end function

dim dia, mes, str
function FormataDiaMes(str)
str = FormataData(str)
dia = Day(str)
mes = Month(str)

if Len(dia) < 2 then
	if Len(mes) < 2 then
  dia = "0"&Day(str)
  mes = "0"&Month(str)
	end if
end if

FormataDiaMes = dia&"/"&mes
end function
%>
Ok, até tudo tudo bem! Dae agora o problema de como usar isso na SQL. A principio você pensaria assim:
data_atual = FormataData(date)
data_para_comparacao = FormataDiaMes(data_atual)
SELECT top 5 * FROM membros WHERE nascimento >= #"&data_para_comparacao&"# ORDER BY nascimento"

Mas não é.

Pois precisar selecionar na SQL apenas o dia e o mes do campo nascimento.

Se alguém puder me ajudar, agradeço (e muito).

Obs.: o Datediff() poderia me ajudar? Como? Não consigo ver uma luz sad.gif

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Não sei ainda...

Tipo... na página principal ficaria assim, os 5 próximos a comemorarem niver.

01/02 - urso.louco

02/02 - Reginaldo_ASP

03/02 - jissa

04/02 - pgmador

05/02 - [ GuTo ]

Sendo q cada um nasceu em anos diferentes... portanto o q importa seria apenas o dia e o mes, tenderam?

Tá aí minha árdua dúvida... sad.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe Reginaldo, mas não entendi o q você quis dizer :/

Vou mostrar 2 SQL's com alguns dados, que já testei-as e nada:

SELECT top 5, id, apelido, nascimento FROM membros WHERE Day(nascimento) >= #03# AND Month(nascimento) >= #02# ORDER BY Day(nascimento) AND Month(nascimento) DESC
SELECT top 5, id, apelido, nascimento FROM membros WHERE nascimento >= #03/02# ORDER BY Day(nascimento) AND Month(nascimento) DESC

Não sei mais o que fazer.

Esta 'coisa', aparentemente tão simples, está muito complicada de se realizar!

Já procurei em tudo que é site pelas palavras chaves: data e aniversarios, e nenhum resultado encontrado.

Minto, achei um. Porém o arquivo estava corrompido sad.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Valeu Reginaldo!!!

Acho q o meu erro foi em não colocar um parenteses antes do DAY e do MONTH.

E depois de alguns testes foi indo e ficou assim, perfeitinha.

sql = "SELECT top 5, id, apelido FROM membros WHERE (Day(nascimento) >= "&n_dia&") AND (Month(nascimento) >= "&n_mes&") ORDER BY Month(nascimento)"

Obrigado a todos q ajudaram!

MODERADORES meus brothers, podem fechar o tópico! wink.gif

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,3k
×
×
  • Criar Novo...