Ordenação Oracle

01/04/2010

0

Boa tarde a todos,  Estou com uma duvida no funcionamento do order by do oracle. Quando existem colunas em uma tabela e essa coluna varchar2 recebe um "numero" o Oracle "se perde" no order by. Por exemplo:   Tenho a seguinte tabela:  
 
 
CREATE TABLE tb_teste(
 teste_cod   varchar2(25) NOT NULL,
 teste_descr   varchar2(50) NOT NULL,
 constraint PK_teste PRIMARY KEY (teste_cod)
)
;
 
insert into tb_teste values('A1','A');
insert into tb_teste values('B1','B');

insert into tb_teste values('C1','C');
insert into tb_teste values('D1','D');
insert into tb_teste values('E1','E');
INSERT INTO TB_TESTE VALUES('3F','F');

insert into tb_teste values('G1','G');
insert into tb_teste values('H1','H');


  Agora quando eu efetuo o seguinte select:  
 
 
Select * from tb_teste order by teste_cod 
 
   me traz o seguinte resutado:   teste_cod       teste_descr ---------------------------------- A1                   A B1                   B C1                   C D1                   D E1                   E G1                   G H1                   H 3F                    F   Até aqui tudo bem, pelo que eu entendi ele interpreta que numeros são maiores que letras.   No entanto quando eu faço o select desta forma:  
 
 
Select * from tb_teste WHERE teste_cod > 'E1' order by teste_cod 
 
  me traz o resutado assim:   teste_cod       teste_descr ---------------------------------- G1                   G H1                   H     Ou seja, com o where ele interpreta que numeros são MENORES que letras ????   Quando eu inverto o sinal de maior para menor, veja:  
 
 
Select * from tb_teste WHERE teste_cod < 'E1' order by teste_cod 
 
    teste_cod       teste_descr ---------------------------------- A1                   A B1                   B C1                   C D1                   D 3F                    F     Não entendo por que isso acontece, talvez seja alguma coisa errada no meu select.   É a primeira vez que utilizo o Oracle, então peço a ajuda de voçês neste problema.  
Alexandre Silva

Alexandre Silva

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar