Bom dia Pessoal ..
Tenho um campo number(10,5) e devo fazer uma validação para somente aceitar números inteiros ou com .5 na decimal..
Obrigado..
Validacao de Arredondamento
- dr_gori
- Moderador
- Mensagens: 5013
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Pode usar MOD pra validar se é multiplo de .5
Exemplo: Essa é minha tabela.
Agora, fazemos a validação:

Exemplo: Essa é minha tabela.
SQL> select sal/12 sal from emp;
SAL
----------
66.6666667
133.333333
104.166667
247.916667
104.166667
237.5
204.166667
250
416.666667
125
91.6666667
79.1666667
250
108.333333
14 rows selected.
SQL> select sal, decode( mod(sal, .5), 0, 'PASSOU', 'não PASSOU') VALIDACAO
2 from (select sal/12 sal from emp)
3 /
SAL VALIDACAO
---------- ----------
66.6666667 não PASSOU
133.333333 não PASSOU
104.166667 não PASSOU
247.916667 não PASSOU
104.166667 não PASSOU
237.5 PASSOU
204.166667 não PASSOU
250 PASSOU
416.666667 não PASSOU
125 PASSOU
91.6666667 não PASSOU
79.1666667 não PASSOU
250 PASSOU
108.333333 não PASSOU
14 rows selected.
SQL>

- dr_gori
- Moderador
- Mensagens: 5013
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Completando:
Coloca uma trigger WHEN-VALIDATE-ITEM e coloca a consistência citada acima!
Coloca uma trigger WHEN-VALIDATE-ITEM e coloca a consistência citada acima!
IF mod( :bloco.campo, .5 ) <> 0
THEN --> CHAMA MENSAGEM DE ERRO;
RAISE FORM_TRIGGER_FAILURE;
END IF;
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes