Campo varchar com valor numérico

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
leonchacal
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 12
Registrado em: Seg, 18 Ago 2014 3:51 pm

Bom dia a todos,

Estou com a seguinte dúvida:
Eu possou um campo varchar2 na tabela e a minha variavel também é varchar2, sendo que, alguns valores do campo da tabela é do tipo numérico e quando faço a comparação entre o campo e a variável o retorno do count é zero quando os valores são numéricos mas, quando o valor possui alguma letra o count retorna 1 de boa.
Alguém sabe me informar como eu faço para comparar os valores quando for numérico ?
Já tentei to_char, cast, to_number, nada funcionou, o nome do campo em que estou me referindo é o campo t.ura

Selecionar tudo

declare
v_ura varchar2(10) := '980';
v_marcador int;
begin
select count(*)into v_marcador from vur.fixa_equipamento t where t.cpa = 'SGI01' and t.ura = v_ura and t.ativo = 1 and rownum = 1;
dbms_output.put_line(v_marcador);
end;
leonchacal
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 12
Registrado em: Seg, 18 Ago 2014 3:51 pm

Resolvi da seguinte maneira:

Selecionar tudo

declare
v_ura varchar2(10) := 'olpik';
begin
  if regexp_like(v_ura,'[[:digit:]]') = true  and regexp_like(v_ura,'[[:alpha:]]') = false then -- '^.*[0-9].*$'
    dbms_output.put_line('numero');
    else
      dbms_output.put_line('texto');
      end if;
end;
Vlw!
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 18 visitantes