Olá Pessoal, Boa Tarde.
Por gentileza, é possível fazer um select que verifique a tabela e seus campos quais estão em branco.
Por exemplo : Tabela USUARIOS com os CAMPOS NOME, ENDERECO, CIDADE, BAIRRO, TELEFONE, CEP, DT NASCIMENTO, etc ...
Quero um SELECT que eu indique os campos e se um deles estiver em branco me informar os registros.
É possível ???
SELECT validando CAMPO em BRANCO
- vitellozzi
- Rank: Programador Sênior
- Mensagens: 50
- Registrado em: Qua, 15 Set 2010 9:53 am
- Localização: Itatiba
-
- Rank: DBA Sênior
- Mensagens: 389
- Registrado em: Ter, 27 Jul 2010 1:34 pm
- Localização: Sapiranga - RS
- Contato:
Quem falou que programar era fácil??
Quanto mais dificil for a implementação mais valorizado seu trabalho será!
Acessem: www.gfkauer.com.br
Quanto mais dificil for a implementação mais valorizado seu trabalho será!
Acessem: www.gfkauer.com.br
Tente algo assim:
Select COLUNAS
From TABELA
Where COLUNA1 Is Null
Or COLUNA2 Is Null
Or COLUNA3 Is Null
...
- vitellozzi
- Rank: Programador Sênior
- Mensagens: 50
- Registrado em: Qua, 15 Set 2010 9:53 am
- Localização: Itatiba
Tentei dos dois tipos usando IS NULL e <> ' ' porém quando utilizo OR o sistema trava, por isso optei em não utilizar.
Esse é o SELECT que estou elaborando, imagine todos os campos preenchidos, menos o telefone. Queria que o SELECT informasse esse registro.
Esse é o SELECT que estou elaborando, imagine todos os campos preenchidos, menos o telefone. Queria que o SELECT informasse esse registro.
SELECT * FROM USUARIO U, V_USUARIO VU, ENDERECO E, FUNCIONARIO F WHERE U.NRREGISTRO_USUARIO = '33505'
AND U.NRREGISTRO_USUARIO = E.NRREGISTRO AND U.NRREGISTRO_USUARIO = VU.NRREGISTRO_USUARIO AND E.NOOPERADOR = F.CDFUNCIONARIO
AND U.DTINICIO BETWEEN '01/01/2010' AND '30/11/2010' AND VU.DTEXCLUSAO IS NULL
AND VU.NRCGC_CPF <> '' AND VU.NRINSCEST_RG <> '' AND VU.CDESTADOCIVIL <> '' AND VU.CDSEXO <> ''
AND E.NRCEP <> '' AND E.CDCIDADE <> '' AND E.CDESTADO <> '' AND E.NOLOGRADOURO <> '' AND E.NRTELEFONE <> ''
-
- Rank: Analista Sênior
- Mensagens: 164
- Registrado em: Sex, 22 Ago 2008 12:28 pm
- Localização: SP
Tenta usar então assim:
Att,
Diego Monteiro
NVL(campo, 'sem registro') = 'sem registro'
Diego Monteiro
- vitellozzi
- Rank: Programador Sênior
- Mensagens: 50
- Registrado em: Qua, 15 Set 2010 9:53 am
- Localização: Itatiba
Como utilizar o NVL ?
Imagino que não iria trazer o desejado vejamos :
Tenho dois registro com NOME, ENDERECO, CIDADE, BAIRRO
Registro 1 : Fulano, Rua 1, - , Bairro 1
Registro 2 : Ciclano, - , Cidade 2, Bairro 2
Registro 3 : Beltrano, Rua 3, Cidade 3 , -
Registro 4 : Vitellozzi, Rua 4, Cidade 4, Bairro 4
Com o NVL imagino que iria aparecer no lugar do NULL o 'Sem registro'.
Preciso que o select me informasse os registros que possuem os campos em branco ou NULL que seriam o 1, 2 e 3.
Imagino que não iria trazer o desejado vejamos :
Tenho dois registro com NOME, ENDERECO, CIDADE, BAIRRO
Registro 1 : Fulano, Rua 1, - , Bairro 1
Registro 2 : Ciclano, - , Cidade 2, Bairro 2
Registro 3 : Beltrano, Rua 3, Cidade 3 , -
Registro 4 : Vitellozzi, Rua 4, Cidade 4, Bairro 4
Com o NVL imagino que iria aparecer no lugar do NULL o 'Sem registro'.
Preciso que o select me informasse os registros que possuem os campos em branco ou NULL que seriam o 1, 2 e 3.
-
- Rank: Analista Sênior
- Mensagens: 164
- Registrado em: Sex, 22 Ago 2008 12:28 pm
- Localização: SP
Olha o exemplo:
- O campo Cidade está em branco ok? Então Vamos lá:
Att,
Diego Monteiro
- O campo Cidade está em branco ok? Então Vamos lá:
SELECT ID_CLIENTE,
NOME_CLIENTE,
CIDADE
FROM TB_CADASTRO_CLIENTE
WHERE NLV(CIDADE, 'SEM REGISTRO') = 'SEM REGISTRO'
OR NLV(NOME, 'SEM REGISTRO') = 'SEM REGISTRO'
Diego Monteiro
- vitellozzi
- Rank: Programador Sênior
- Mensagens: 50
- Registrado em: Qua, 15 Set 2010 9:53 am
- Localização: Itatiba
Tentei criar com o seu exemplo, mas ocorre esse tipo de erro :
ORA-00920: invalid relational operator
SELECT VU.NRCGC_CPF, VU.NRINSCEST_RG, VU.CDESTADOCIVIL, VU.CDSEXO, E.NRCEP, E.CDCIDADE, E.CDESTADO, E.NOLOGRADOURO,E.NRTELEFONE
FROM USUARIO U, V_USUARIO VU, ENDERECO E, FUNCIONARIO F
WHERE NVL(VU.NRCGC_CPF, '') = 'SEM REGISTRO' -- até aqui nornal !!!
OR (VU.NRINSCEST_RG, '') = 'SEM REGISTRO' -- ocorre o erro !!!
OR (VU.CDESTADOCIVIL, '') = 'SEM REGISTRO'
OR (VU.CDSEXO, '') = 'SEM REGISTRO'
OR (E.NRCEP, '') = 'SEM REGISTRO'
OR (E.CDCIDADE, '') = 'SEM REGISTRO'
OR (E.CDESTADO, '') = 'SEM REGISTRO'
OR (E.NOLOGRADOURO, '') = 'SEM REGISTRO'
OR (E.NRTELEFONE, '') = 'SEM REGISTRO'
AND U.NRREGISTRO_USUARIO = '33505' -- registro que eu sei que um dos campos está em branco ...
AND U.NRREGISTRO_USUARIO = E.NRREGISTRO
AND U.NRREGISTRO_USUARIO = VU.NRREGISTRO_USUARIO
AND E.NOOPERADOR = F.CDFUNCIONARIO
AND U.DTINICIO BETWEEN '01/01/2010' AND '30/11/2010'
AND VU.DTEXCLUSAO IS NULL
-
- Moderador
- Mensagens: 1396
- Registrado em: Sex, 01 Fev 2008 2:06 pm
- Localização: Rio de Janeiro - RJ
- Contato:
ta faltando o nvl no trecho que deu erro pra baixo
-
- Rank: DBA Sênior
- Mensagens: 389
- Registrado em: Ter, 27 Jul 2010 1:34 pm
- Localização: Sapiranga - RS
- Contato:
Quem falou que programar era fácil??
Quanto mais dificil for a implementação mais valorizado seu trabalho será!
Acessem: www.gfkauer.com.br
Quanto mais dificil for a implementação mais valorizado seu trabalho será!
Acessem: www.gfkauer.com.br
tente isto:
Select *
From usuario u,
v_usuario vu,
endereco e,
funcionario f
Where u.nrregistro_usuario = '33505'
And u.nrregistro_usuario = e.nrregistro
And u.nrregistro_usuario = vu.nrregistro_usuario
And e.nooperador = f.cdfuncionario
And u.dtinicio Between '01/01/2010' And '30/11/2010'
And (vu.dtexclusao Is Null
Or vu.nrcgc_cpf Is Null
Or vu.nrinscest_rg Is Null
Or vu.cdestadocivil Is Null
Or vu.cdsexo Is Null
Or e.nrcep Is Null
Or e.cdcidade Is Null
Or e.cdestado Is Null
Or e.nologradouro Is Null
Or e.nrtelefone Is Null)
-
- Rank: Analista Sênior
- Mensagens: 164
- Registrado em: Sex, 22 Ago 2008 12:28 pm
- Localização: SP
Gfkauer,
Ela não pode utilizar o IS NULL
Diego Monteiro
Ela não pode utilizar o IS NULL
Att,Tentei dos dois tipos usando IS NULL e <> ' ' porém quando utilizo OR o sistema trava, por isso optei em não utilizar.
Diego Monteiro
- vitellozzi
- Rank: Programador Sênior
- Mensagens: 50
- Registrado em: Qua, 15 Set 2010 9:53 am
- Localização: Itatiba
Olá Pessoa, Boa Tarde. PERFEITO !!! Funcionou só precisei retirar a DTEXCLUSAO que precisa ser NULL com exeção aos demais campos.
Agradeço muito a ajuda de todos !!! Abraços
Agradeço muito a ajuda de todos !!! Abraços
Select vu.dtexclusao,
vu.nrcgc_cpf,
vu.nrinscest_rg,
vu.cdestadocivil,
vu.cdsexo,
e.nrcep,
e.cdcidade,
e.cdestado,
e.nologradouro,
e.nrtelefone
From usuario u, v_usuario vu, endereco e, funcionario f
Where u.nrregistro_usuario = '33505'
And u.nrregistro_usuario = e.nrregistro
And u.nrregistro_usuario = vu.nrregistro_usuario
And e.nooperador = f.cdfuncionario
And u.dtinicio Between '01/01/2010' And '30/11/2010'
And vu.dtexclusao Is Null
And (vu.nrcgc_cpf Is Null Or
vu.nrinscest_rg Is Null Or vu.cdestadocivil Is Null Or
vu.cdsexo Is Null Or e.nrcep Is Null Or e.cdcidade Is Null Or
e.cdestado Is Null Or e.nologradouro Is Null Or e.nrtelefone Is Null)
-
- Rank: DBA Sênior
- Mensagens: 389
- Registrado em: Ter, 27 Jul 2010 1:34 pm
- Localização: Sapiranga - RS
- Contato:
Quem falou que programar era fácil??
Quanto mais dificil for a implementação mais valorizado seu trabalho será!
Acessem: www.gfkauer.com.br
Quanto mais dificil for a implementação mais valorizado seu trabalho será!
Acessem: www.gfkauer.com.br
Imaginei que ele ter falado que travou quando usou o IS Null completando com o Or faltava o jogo de parenteses sobre as cláusulas de testes com vazio geralmente cometo este erro e por ser algo simples passa desapercebido...
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 9 visitantes