Pedro veja se é isso que vc. quer:

SELECT *
  FROM BAR
ORDER BY CASE WHEN campo >= 'A' THEN Campo ELSE to_char(to_number(campo, '9999'),'0000') END

Édson Mundin Ferreira


Pedro B. Alves wrote:
Salve pessoal.
 
estou tendo um pouco de dificuldades na seguinte ocorrencia:
 
tenho um campo de uma tabela como varchar(20);
 
só que nesse campo é armazenado numeros "alguns contem letras, ex: ML201" só que muitos são apenas numeros. ex: 10,20,30.. etc.
 
então gostaria que meu select retornasse ordenado esses numeros..
 
por exemplo, se eu usar o order by noramlmente ele me traria na seguinte ordem:
 
campo
---------|
1
10
11
12
13
2
21
22
23
3
30
31
32
A..
B..
C..
D..
 
e assim por diante..
 
gostaria que ele me retornasse da seguinte forma:
campo|
----------|
1
2
3
10
11
12
13
21
22
23
30
31
32
A..
B..
C..
 
e assim por diante
 
alguém sabe oq eu tenho que fazer?

_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a