[firebase-br] RES: Ordem no Select de Campo Varchar

Jeudí Prando jeudiprando em gmail.com
Qui Ago 17 12:00:59 -03 2006


eu nao tenho o FB2.0 instalado entao fiz em FB1.5, de qualquer forma 
creio que vá funcionar no FB2.0 tb sem problemas... o que queria dizer é 
q com as funcionabilidades acrerscentadas no FB2.0 a sintaxe seria mais 
simples mais facil de entender... quem sabe ate mais rapido ficaria o 
codigo... rss concerteza

select
  numero-digito
from
  tabela
where
  campo1_PK = :pvalor1 -- campo da chave primaria para que o retorno 
seja mais rapido
order by
campo1,

case
    -- 1-1
    when substring(numero-digito from 2 for 1) = '-' then 
cast(substring(numero-digito from 1 for 1) as integer)
    -- 11-1
    when substring(numero-digito from 3 for 1) = '-' then 
cast(substring(numero-digito from 1 for 2) as integer)
    -- 111-1
    when substring(numero-digito from 4 for 1) = '-' then 
cast(substring(numero-digito from 1 for 3) as integer)
    -- 1111-1
    when substring(numero-digito from 5 for 1) = '-' then 
cast(substring(numero-digito from 1 for 4) as integer)
    -- 11111-1
    when substring(numero-digito from 6 for 1) = '-' then 
cast(substring(numero-digito from 1 for 5) as integer)
    -- 111111-1
    when substring(numero-digito from 7 for 1) = '-' then 
cast(substring(numero-digito from 1 for 6) as integer)
    -- 1111111-1
    when substring(numero-digito from 8 for 1) = '-' then 
cast(substring(numero-digito from 1 for 7) as integer)
    -- 11111111-1
    when substring(numero-digito from 9 for 1) = '-' then 
cast(substring(numero-digito from 1 for 8) as integer)
end

 -- ordernar 1º pelos campos da chave primaria para ficar rapido depois 
pelo nosso case
 
entendeu? se nao entendeu poste a sua duvida...

se nao entender NADA leia tudo denovo e tente entender alguma coisa...

desculpa se estou sendo grosso mas é que estou meio STRESSADO... mas 
quero ajudar... rss

BOA SORTE!




Mais detalhes sobre a lista de discussão lista