Jump to content


Photo

Comparação De Data


  • Faça o login para participar
5 replies to this topic

#1 boari

boari

    24 Horas

  • Usuários
  • 411 posts
  • Sexo:Masculino
  • Localidade:São joão Del Rei - Minas Gerais
  • Interesses:PHP, MySQL, SQL Server

Posted 13/09/2007, 20:54

Pessoal é o seguinte:

Preciso ordenar 3 eventos na página inicial de um site de forma aleartória.
Só que a data desses eventos foram cadastradas dessa forma dd/mm/YYYY

Tentei converter a data para YYYY/mm/dd para depois comparar com CURDATE() mas não deu certo...
Segue abaixo a minha tentativa...

Tentei assim:
mysql_query("SELECT *,date_format(data, '%Y/%m/%d') as dataf FROM eventos WHERE dataf >= CURDATE() ORDER BY RAND() LIMIT 3");

Alguém tem alguma solução para fazer essa comparação de datas dd/mm/YYYY diretamente na consulta?

Aguardo.... :blink:

#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 14/09/2007, 04:37

A partir do formato brasileiro (dd/mm/YYYY), você não consegue obter uma formatação com o DATE_FORMAT não. (y)

Você tem que buscar outra forma de deixá-la no formato americado para então comparar.

Flws...
(ok2) Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 boari

boari

    24 Horas

  • Usuários
  • 411 posts
  • Sexo:Masculino
  • Localidade:São joão Del Rei - Minas Gerais
  • Interesses:PHP, MySQL, SQL Server

Posted 14/09/2007, 15:40

Aí que tá...rs

Tem como trasnformar diretamente na consulta?
Ou eu teria que listar todas e pedir pra exibir somente as com o critério?
Se exibir todas fica complicado se o BD tiver milhares de cadastro....

#4 boari

boari

    24 Horas

  • Usuários
  • 411 posts
  • Sexo:Masculino
  • Localidade:São joão Del Rei - Minas Gerais
  • Interesses:PHP, MySQL, SQL Server

Posted 18/09/2007, 20:49

Será que não existe nenhuma forma de fazer isso na consulta?
Ou pelo menos não precisar consultar todos pra depois só exibir os que estão na condição....


Aguardo ajuda...

#5 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 19/09/2007, 08:38

Talvez com a função SUBSTRING() você obtenha o resultado esperado.

Flws...
(ok2)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#6 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 19/09/2007, 08:53

Pelo que eu entendi um CAST vai funcionar pra você...
Daí você converteria sua string para o tipo DATE e a comparação deveria funcionar... hehehe
Mas isso é você quem vai dizer! rs...
Pra te ajudar, olha o CAST no manual aí: http://dev.mysql.com...-functions.html
Qualquer coisa... posta aí!

[] Rafael :boxing:




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq