Fórum ordenar numero no formato string #369533
01/04/2009
0
tenho um campo no banco de dados -> nparcela do tipo string
1ª parcela
2ª parcela
3ª parcela
.
.
11ª parcela
12ª parcela
quero ordenar por numero da parcela
se eu utilizo um order by nparcela ele ordena
1ª parcela
11ª parcela
12ª parcela
2ª parcela
3ª parcela
como eu faço para ordenar certinhu, tem como?
desde já agradeço.
Betofrasson
Curtir tópico
+ 0Posts
01/04/2009
Lehapan
para o Firebird 2.1, pode ser utilizado o código abaixo:
SELECT CAST( REPLACE(nparcela, ´ª parcela´, ´´) AS INTEGER) AS NumParcela FROM NOME_DA_TABELA ORDER BY NumParcela
Gostei + 0
01/04/2009
Betofrasson
mais não deu certo aqui não
não sei se eh eu que estou fazendo errado.
DM.ParcelasQuery.SQL.Add(´select CAST(REPLACE(nparcela, ´ªParcela, ´) as integer) as numparcela from parcelas where idcarne=1 order by numparcela´);
tem aspa em lugar errado ai neh?
Gostei + 0
01/04/2009
Lehapan
[/code]
DM.ParcelasQuery.SQL.Add(´select CAST(REPLACE(nparcela, ´ + QuotedStr(´ªParcela´) + ´, ´) as integer) as numparcela from parcelas where idcarne=1 order by numparcela´);[/code]
pois o ´ªParcela´ é uma string e no SQL deve estar entre aspas
Gostei + 0
01/04/2009
Lehapan
segue o certo
DM.ParcelasQuery.SQL.Add(´SELECT CAST(REPLACE(nparcela, ´ + QuotedStr(´ªParcela´) + ´, ´ + QuotedStr(´´) + ´) AS INTEGER) AS NumParcela FROM PARCELAS WHERE idcarne=1 ORDER BY NumParcela´);
qualquer coisa é só perguntar
Gostei + 0
01/04/2009
Betofrasson
mais funcionou certinho lehapan..
valeu ai cara.. abraço..
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)