ordenação sql apenas pelos dois ultimos caracteres
Tenho no campo que é do tipo string no interbase
os seguintes dados
01DV
03DV
04DV
se inserir o 02CA o campo finca assim
01DV
02CA
03DV
04DV
ele tem que ficar assim
02CA
01DV
03DV
04DV
como faço isso em SQL ?
os seguintes dados
01DV
03DV
04DV
se inserir o 02CA o campo finca assim
01DV
02CA
03DV
04DV
ele tem que ficar assim
02CA
01DV
03DV
04DV
como faço isso em SQL ?
Anonymous
Curtidas 0
Respostas
Adilsond
03/04/2003
SELECT Campo,
SUBSTRING(Campo FROM 1 FOR 2),
SUBSTRING(Campo FROM 3 FOR 2)
FROM tabela
order by 3,2
SUBSTRING(Campo FROM 1 FOR 2),
SUBSTRING(Campo FROM 3 FOR 2)
FROM tabela
order by 3,2
GOSTEI 0
Anonymous
03/04/2003
Obrigado pelo disposição em escrever o codigo,
porém ele não funcionou , pois diz que funcao substring nao existe,
executei as UDFs do interbase 6 e tentei substituir o nome SUSTRING para SUBSTR, mas tambem nao funcionou e a mensagem foi a seguinte
Invalid request BLR at offset 63
function SUBSTR is not defined
porém ele não funcionou , pois diz que funcao substring nao existe,
executei as UDFs do interbase 6 e tentei substituir o nome SUSTRING para SUBSTR, mas tambem nao funcionou e a mensagem foi a seguinte
Invalid request BLR at offset 63
function SUBSTR is not defined
GOSTEI 0
Carlos Filho
03/04/2003
Tenho no campo que é do tipo string no interbase
os seguintes dados
01DV
03DV
04DV
se inserir o 02CA o campo finca assim
01DV
02CA
03DV
04DV
ele tem que ficar assim
02CA
01DV
03DV
04DV
como faço isso em SQL ?
Lamento informar, mas acho que o que voce quer nao e possivel...
em qualquer computador do mundo os caracteres alfanuméricos são ordendos da esqerda para a direita e primeiro os números depois as letras...
a ordem que se programa gera esta correta para o computador. Isso que voce quer fazer usa uma lógica diferente, ou seja, você quer ordenar primeiro as letras e depois os numeros...
uma maneira de fazer isso funcionar é simplesmente mudando os codigos para q eles se tornem algo como:
CA02
DV01
DV03
DV04
Ou seja, letras antes...
outra maneira de fazer isso é como AdilsonD respondeu, só que ele misturou delphi com SQL, por isso deu erro...
usando a estrategia dele, você deverá copiar cada um dos códigos em um StringList, passo a passo, verificando a ordem apenas das letras finais...
eu particularmente acho muito mais facil mudar o tipo de código: LETRAS ANTES E NUMEROS DEPOIS
espero ter ajudado.
GOSTEI 0