Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Andre Renato

Verificar tipo de dados

Recommended Posts

Colegas, bom dia!Gostaria de saber se no Oracle existe alguma função para consistência de tipo de dados. Por exemplo: um campo tem um valor EL 2541.Por mais que o tipo de dados seja VARCHAR2, existe uma forma de detectar os caracteres não numéricos?Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você PODE CRIAR UMA CONTRAINT OBRIGANDO QUE A CAMPO SEJA NUMÉRICO.

 

UMA SOLUÇÃO

 

ALTER TABLE TABELA
  ADD CONSTRAINT CHK_CAMPOX CHECK (
   (TRIM(TRANSLATE(CAMPOX,'0123456789','		 ') IS NULL))

  )

TRANSLATE - TRADUZ OS CAMPOS DO 2º PARAMETRO PARA O 3º NA MESMA POSIÇÃO SE NÃO HOUVE CORRESP. RETORNA O MESMO VALOR

TRIM - LIMPA OS BRANCOS

 

ASSIM SE HOUVER NÃO NUMÉRICOS A CONDIÇÃO SERÁ FALSA.

 

UMA CONSTRAINT CHECA UMA CONDIÇÃO PARA O CAMPO

 

NÃO FIZ UM TESTE MAIS CREIO QUE VÁ FUNCIONAR

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.