Ir para conteúdo

POWERED BY:

Arquivado

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

marvi

[Resolvido] Exibir na ordem decrescente

Recommended Posts

Olá,

 

Não sei o que está acontecendo.

 

Tenho um campo data onde tem as seguintes datas, por exemplo:

 

31/3/2010

4/1/2010

 

Mas ele não fica na ordem decrescente

 

Minha SQL está: SELECT * FROM noticias order by datar desc, codigo desc

 

Aí funciona normal o mês 3

 

31/3/2010 - certo

30/03/2010 - certo

4/1/2010 - errado, ele deveria ser o primeiro já que é mês 4

 

Por que ocorre isso? Como faço para manter na ordem decrescente quando aparecer o novo mês?

 

O campo está como datatime e uso SQL Server 2000

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo q você escreveu é mes 1

 

 

31/3/2010 - certo

30/03/2010 - certo

4/1/2010 - errado, ele deveria ser o primeiro já que é mês 4

 

e se é decrescente tá certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo q você escreveu é mes 1

 

 

 

31/3/2010 - certo

30/03/2010 - certo

4/1/2010 - errado, ele deveria ser o primeiro já que é mês 4

 

e se é decrescente tá certo

 

Esse manja.

 

 

Se seu campo estiver como Text ou Varchar ou coisa do tipo, não vai funcionar.

Como seu campo é data, tem que ser Datetime. Quando for criar campos na base de dados, crie com seus tipos respectivos, porquê você não terá problemas no futuro, como talvez você esteja agora.

 

Se quiser consertar agora faça um Cast:

 

Select * From Noticias Order By Cast(Data as Datetime) Desc

Select Cast(Data as Datetime), * From Noticias Order By Campo_Data Desc

 

Agora se você quiser tornar a coisa mais fácil nos seus projetos, você muda o tipo do campo para DateTime.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso deve ser então na hora de cadastrar que está indo errado?

 

No campo do formulário a pessoa digia 01/04/2010

 

E no insert:

dia  = day(vdata)
mes = month(vdata)
ano = year(vdata)

data_sql = ano & "-" & mes & "-" & dia

executar = "insert into noticias (conteudo, data, fonte, titulo, datar) values ('"& VarDesc &"','"& vdata &"','"& vfonte &"','"& vtitulo &"','"& data_sql &"')"

O problema está na formatação da data então?

 

31/3/2010 está certo, que é dia 31 de março de 2010

Agora 4/1/2010 está errado, realmente. Pois o certo é 1/4/2010, dia 1, mês 4 e ano 2010

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.