to com um problema serio pra resolver, depois de finalizar o programa, arrumar o ireport e tudo mais, descobri que na hora de ordenar as tabelas por data usando a sql
SELECT*FROMlaudoEmpresaOrderBydata,nome
a ordenacao sai assim
10/03/2009
11/02/2009
12/03/2009
ou seja ele arruma o dia e nao arruma o mes.
Mas isso nao é o pior pq eu fiz a burrice de quando criar os campos para todos os meus formularios colocar a data em varChar, se eu mudar pra Date vou ter que mudar tudo no programa.
Alguem tem alguma solucao pra resolver meu problema?
Mude seus campos para Date; você fez a burrada, tem de consertar. Depois vai ver que vale a pena.
T
thingol
(É claro que você pode usar algum método que converta a string para data, e ordenar por data; mas ainda acho que você deve consertar isso em vez de remendar o SQL. É que normalmente o Order By não gosta muito de campos sintetizados, algo como
select a, converter_string_para_date (b) as c from d order by c, a)
Isso pode ser que não funcione no seu banco.
K
Kaiser
Thingol,
concordo que foi burrice, até mesmo eu comentei isso, mas esse é meu primeiro programa, e tem muitas logicas em cima das datas que estou usando, sem contar a quantidade formularios, ou seja seria a ultima coisa que eu faria.
Mas eu irei testar com o comando que me passou.
Se mais alguem tiver uma ideia de como resolver, ficaria muito grato
K
Kaiser
Resolvi o problema parcialmente assim,
SELECT str_to_date(data, ‘%d/%m/%Y’) AS data FROM contas ORDER BY data;
esse comando converte, mas eu preciso do resto da tabela, e nao to conseguindo um syntax pra adicionar.
Alguem pode me ajudar?
K
Kaiser
para colocar os outros campos basta colocar os campos separados por virgula antes.