Olá pessoal,
Eu to com o seguinte problema:
Estou fazendo um relatório no qual me pede campos que não existe no meu banco! E a condição é que quando não existir adicione espaços em brancos, por exemplo
você tem uma tabela chamada alunos com os campos, nome, endereço, telefone, mas no relatório é pra constar também o nome da mãe, mas no meu banco não tem essa informação, então será necessário adicionar 75 espaços em brancos em cada registro de cada aluno, no lugar onde estaria o nome da mãe!
Mas como fazer isso????
alguém pode me ajudar????
Adicionar espaços em branco
- tatianeweb
- Rank: Estagiário Sênior
- Mensagens: 10
- Registrado em: Ter, 26 Fev 2008 5:20 pm
- Localização: ARACAJU-SE
Tati
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Olá moça.
Tenta este exemplo:
Dê uma procurada por LPAD ou RPAD aqui no fórum que irá encontrar exemplos interessantes.
Tenta este exemplo:
-- colocar o espaço quando nulo
SELECT empno,nvl(ename,rpad(' ',75)) nome
FROM emp
WHERE ROWNUM <= 3;
--
--resultado:
7999
7369 SMITH
7499 ALLEN
-- analisar o tamanho (se realmente preencheu)
SELECT empno,length(nvl(ename,rpad(' ',75))) tamanho
FROM emp
WHERE ROWNUM <= 3;
-- resultado:
empno tamanho
7999 75
7369 5
7499 5
- tatianeweb
- Rank: Estagiário Sênior
- Mensagens: 10
- Registrado em: Ter, 26 Fev 2008 5:20 pm
- Localização: ARACAJU-SE
Tati
Isso não é o que estou precisando
O problema é que eu preciso gerar uma coluna inteira com espaços em branco. Eu não quero uma condição pra quando for nulo gerar espaços em branco! Foi pedido informações que eu não tenho na minha base de dados, antes eu preenchia a coluna com um 'X' mas foi exigido trocar o caracter X por 75 espaços em branco!
O LPAD e o RPAD me dá suporte em condições para acrescentar espaços em branco em um campo que já existe, mas o que eu estou precisando é de algo que me de condições de gerar uma coluna inteira, como se fosse um novo campo na minha tabela!
Entendeu agora???
O problema é que eu preciso gerar uma coluna inteira com espaços em branco. Eu não quero uma condição pra quando for nulo gerar espaços em branco! Foi pedido informações que eu não tenho na minha base de dados, antes eu preenchia a coluna com um 'X' mas foi exigido trocar o caracter X por 75 espaços em branco!
O LPAD e o RPAD me dá suporte em condições para acrescentar espaços em branco em um campo que já existe, mas o que eu estou precisando é de algo que me de condições de gerar uma coluna inteira, como se fosse um novo campo na minha tabela!
Entendeu agora???
-
- Rank: DBA Pleno
- Mensagens: 232
- Registrado em: Sex, 30 Mar 2007 7:26 pm
- Localização: Londrina - PR
Rafael O. Genaro
Não sei se entendi muito bem, você precisa apenas de uma consulta que retorne os campos extras?
você poderia usar:
Lembrando que os campos sobrenome e endereço não existem realmente na tabela emp.
Para facilitar sua vida, você pode colocar esta consulta em uma view e disponibilizá-la para a sua aplicação.
Caso não seja isso, favor explicar um pouco melhor o que você precisa, e para que finalidade (onde será usado, etc..)
você poderia usar:
select empno
, ename
, deptno
, lpad(null, 15, ' ') sobrenome
, lpad(null, 16, ' ') endereco
from emp
;
Para facilitar sua vida, você pode colocar esta consulta em uma view e disponibilizá-la para a sua aplicação.
Caso não seja isso, favor explicar um pouco melhor o que você precisa, e para que finalidade (onde será usado, etc..)
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Tatiana,
Caso não exista, faça uma sub-query na tua query principal que resolve teu problema.
Caso não exista, faça uma sub-query na tua query principal que resolve teu problema.
SELECT empno,
ename,
(SELECT 'essa_coluna_eu_não_tenho' FROM dual) X
FROM emp;
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Tatiana,
Caso não exista, faça uma sub-query na tua query principal que resolve teu problema.
O exemplo que o Rafael passou também serve para solucionar este problema.
Caso não exista, faça uma sub-query na tua query principal que resolve teu problema.
SELECT empno,
ename,
(SELECT 'essa_coluna_eu_não_tenho' FROM dual) X
FROM emp;
- tatianeweb
- Rank: Estagiário Sênior
- Mensagens: 10
- Registrado em: Ter, 26 Fev 2008 5:20 pm
- Localização: ARACAJU-SE
Tati
Eu tentei fazer o que o Rafael ensinou mas esse foi o resultado!
Antes de acrescentar o código que Rafael me ensinou tava assim:
Depois da dica ficou assim:
Tentei a dica de Trevisolli, mas também não funcionou...
Eu devo estar fazendo algo errado... mas o que??? Tão vendo algo errado aí por favor???
Espero por socorro galera
E desde já muito obrigada por vocês estarem me ajudando!
Antes de acrescentar o código que Rafael me ensinou tava assim:
SQL> select distinct cod_est_civil||DES_EST_CIVIL
2 from estado_civil;
1SOLTEIRO(A)
2CASADO(A)
3SEPARADO(A) JUDICIALMENTE
4DIVORCIADO(A)
5VIÚVO(A)
SQL> select distinct cod_est_civil || lpad(null,5,' ')nulo || DES_EST_CIVIL
2 from estado_civil;
select distinct cod_est_civil || lpad(null,5,' ')nulo || DES_EST_CIVIL
*
ERRO na linha 1:
ORA-00923: FROM keyword not found where expected
Eu devo estar fazendo algo errado... mas o que??? Tão vendo algo errado aí por favor???
SQL> select distinct cod_est_civil || (select 'nulo' from dual)X || DES_EST_CIVIL
2 from estado_civil;
select distinct cod_est_civil || (select 'nulo' from dual)X || DES_EST_CIVIL
*
ERRO na linha 1:
ORA-00923: FROM keyword not found where expected
E desde já muito obrigada por vocês estarem me ajudando!
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Tatiane
Tenta desta forma:
Tenta desta forma:
select distinct cod_est_civil || lpad(null,5,' ') || DES_EST_CIVIL nulo -- coloquei o alias no final.
- tatianeweb
- Rank: Estagiário Sênior
- Mensagens: 10
- Registrado em: Ter, 26 Fev 2008 5:20 pm
- Localização: ARACAJU-SE
Tati
Ainda não gerou a coluna no meio com os 5 caracteres em branco como esperado, veja
e agora???
SQL> select distinct cod_est_civil || lpad(null,5,' ') || DES_EST_CIVIL nulo
2 FROM estado_civil
3 ;
1SOLTEIRO(A)
2CASADO(A)
3SEPARADO(A) JUDICIALMENTE
4DIVORCIADO(A)
5VIÚVO(A)
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Tenta desta forma, Tatiane:
Faça a adaptação pra tua tabela.
SELECT empno || LPAD(' ',75) || ename
FROM emp;
- tatianeweb
- Rank: Estagiário Sênior
- Mensagens: 10
- Registrado em: Ter, 26 Fev 2008 5:20 pm
- Localização: ARACAJU-SE
Tati
Agoooooooooooooora funcionou
valeu mesmo
Valeu Trevisolli....
Muito obrigada pela ajuda galera
Um abraço
valeu mesmo
SQL> select distinct cod_est_civil || lpad(' ',5) || DES_EST_CIVIL
2 from estado_civil;
1 SOLTEIRO(A)
2 CASADO(A)
3 SEPARADO(A) JUDICIALMENTE
4 DIVORCIADO(A)
5 VIÚVO(A)
Muito obrigada pela ajuda galera
Um abraço
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Opa,
Precisando, conta com a gente.
Precisando, conta com a gente.
-
- Rank: Programador Sênior
- Mensagens: 54
- Registrado em: Sex, 05 Set 2008 1:53 pm
- Localização: Parobé - RS
- Contato:
David.
SELECT empno
,ename
,(SELECT RPAD(' ', 75) "NOME DA MAE"
FROM dual) "Nome da Mãe"
FROM emp;
Tenta esse código!
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 10 visitantes