- Este tópico contém 21 respostas, 6 vozes e foi atualizado pela última vez 16 anos, 5 meses atrás por
rtsilva.
-
AutorPosts
-
4 de junho de 2009 às 10:06 pm #87152
rtsilva
ParticipanteBoa tarde a todos,
Alguém sabe como igualar uma variavel a um valor branco para ela receber uma valor.
Ex.: case when (to_number(V0987)=’ ‘) then 5
Esse ‘ ‘ não funciona.
Obrigado,
4 de junho de 2009 às 10:18 pm #87153Regis Araujo
ParticipanteOla Silva.. boa tarde..
Vc pode usar o NVL para colocar algum valor quando for branco…
EX:
case when (NVL(to_number(V0987),99999) = 99999 ) then 5
O Nvl substitui um valor nullo/branco por algum valor que vc queira..
Bom.. espero ter ajudado..
Abraços…
4 de junho de 2009 às 10:54 pm #87155rtsilva
ParticipanteObrigado, mas eu quero saber como é a sintaxe para usar quando a variável for um valor em branco como dito no exemplo abaixo, ela receba um valor.
Obrigado
4 de junho de 2009 às 10:55 pm #87156Leonardo Litz
ParticipanteOlá Silvia, na verdade esta variável deve esta com valor nulo e não branco.
Faça assim:case when (V0987 is null ) then 5
Vlw Leonardo Litz
4 de junho de 2009 às 11:00 pm #87157rtsilva
Participantevlw Leonardo, mas a variavel qdo criada recebeu not null, entao ela não pode ser nula.
Obrigado,
4 de junho de 2009 às 11:08 pm #87159Ishii
ParticipanteOlá,
Então use o TRIM
ficaria assim:
case when (trim(V0987) is null ) then 5[]s Ishii
5 de junho de 2009 às 12:21 am #87161rtsilva
Participanteo tipo da variavel criada é number (2) not null, por isso não posso usar o trim
Abçs,
5 de junho de 2009 às 12:46 am #87163Regis Araujo
ParticipanteBoa tarde..
Estou meio confuso com isto.. vc criou uma variável com a opção NOT NULL, ou é um campo da sua tabela??
Qual a versão do banco que vc está utilizando..
Abraços…
5 de junho de 2009 às 12:56 am #87164rtsilva
ParticipanteÉ um campo dentro de uma tabela.
Eu quero colocar essa condição nesse campo:
Ex.:case when (to_number(V0987)=’valor em branco’) then 5
Qdo esse campo não tiver nenhum valor, ele receba o valor atribuido
Como que eu faço a sintaxe desse comando? o campo = valor em branco.Desde já agradeço,
vlw5 de junho de 2009 às 12:58 am #87165Regis Araujo
ParticipanteAhh.. outra coisa..
Se vc critou ela como not null.. vc precisou determinar um valor para ela.. então vc está dizendo que setou ” como valor pré-definido???
tipo..
nVARIAVEL NUMBER(2) NOT NULL := '';
Correto?Se vc fizer isto ele vai dar erro.. pois ” não é um valor numérico.. vc precisa setar um valor numérico.. então desta maneira ele nunca sera BRANCO ou NULO e vc não irá precisar fazer a comparação de valor nulo ou branco..
Mas a verificação seria mais ou menos assim.. caso vc não tivesse criado ela como NOT NULL..
case when (V0987 is null) then 5
Abraços…
5 de junho de 2009 às 1:04 am #87166Regis Araujo
ParticipanteAh sim…
Entendi..
Então vc não vai fazer assim.. vc vai definir isto na criação do campo… da tabela…
create table teste (VALOR NUMBER(2) DEFAULT 0);
Desta maneira vc não precisa colocar o NOT NULL, pois quando não houver valor para este campo.. ele assumirá o valor DEFAULT…
Bom.. espero que seja isto…
Abraços…
5 de junho de 2009 às 3:54 pm #87168Ishii
ParticipanteOlá,
Foi criada uma variável tipo number not null e está recebendo valor ‘ ‘ espaço em branco?
Acho que tem algum erro ai.[]s Ishii
5 de junho de 2009 às 5:44 pm #87175rtsilva
ParticipanteEu tbém acho, pois andei tendando descobrir se um valor =’ ‘ não seria a mesma coisa que um valor is null
5 de junho de 2009 às 10:53 pm #87187rtsilva
ParticipanteCODV0987 */ CASE WHEN (TO_NUMBER(V0987) IS NULL) THEN 9
EU QUERO É SUBSTITUIR O IS NULL POR UM VALOR EM BRANCO ASSIM:
CODV0987 */ CASE WHEN (TO_NUMBER(V0987)=’ ‘) THEN 9 , PORÉM ELE DA UM ERRO NÃO EXPLICÁVEL, PRO FAVOR ALGUEM SABE Q ERRO É ESSE.AGRADEÇO,
5 de junho de 2009 às 11:27 pm #87189Marcio68Almeida
Participante[quote=”rtsilva”:3ta2w7fs]CODV0987 */ CASE WHEN (TO_NUMBER(V0987) IS NULL) THEN 9
EU QUERO É SUBSTITUIR O IS NULL POR UM VALOR EM BRANCO ASSIM:
CODV0987 */ CASE WHEN (TO_NUMBER(V0987)=’ ‘) THEN 9 , PORÉM ELE DA UM ERRO NÃO EXPLICÁVEL, PRO FAVOR ALGUEM SABE Q ERRO É ESSE.AGRADEÇO,[/quote]
Por que vocêr não coloca o que foi sugerido aqui…
NVL (v0987, 9)
Não existe valor “espaço” em uma coluna numérica.
Não se usa TO_NUMBER em coluna numérica -
AutorPosts
- Você deve fazer login para responder a este tópico.