ordenar numero no formato string
ajudinha ai pessoal
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.
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
Curtidas 0
Respostas
Lehapan
01/04/2009
Caro betofrasson.
para o Firebird 2.1, pode ser utilizado o código abaixo:
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
Betofrasson
01/04/2009
lehapan, agradeço a ajuda
mais não deu certo aqui não
não sei se eh eu que estou fazendo errado.
tem aspa em lugar errado ai neh?
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
Lehapan
01/04/2009
tente colocar assim:
[/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
[/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
Lehapan
01/04/2009
desculpe, consegui escrever errado...
segue o certo
qualquer coisa é só perguntar
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
Betofrasson
01/04/2009
eu até ia te falar.. pq tinha testado direto no banco e tinha dado certo..
mais funcionou certinho lehapan..
valeu ai cara.. abraço..
mais funcionou certinho lehapan..
valeu ai cara.. abraço..
GOSTEI 0