Ir para conteúdo

Arquivado

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

Renato_2009

Select apenas em colunas com dados..!

Recommended Posts

Boa Tarde..!! B)

 

Tenho uma tabela com 460 colunas no Oracle e tenho várias colunas que não estão com dados preenchidos.

 

Tem como eu fazer um select nesta tabela e ele me retornar apenas as colunas que tem valor? :(

Caso contrário vou ter que percorrer a tabela inteira coluna a coluna.

 

Isso é possível?? :huh:

 

Muito Obrigado..!!

 

Renato :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

select *

from tabela

where campo001 is not null

and campo002 is not null

...

and campo400 is not null

 

 

Para montar este select você pode recorer ao dicinário

user_tab_columns e montar um script.

 

select *

from user_tab_columns

where table_name = 'TABELA'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

A ideia do Motta é a melhor opção, montar um script sobre as visões do dicionário do Oracle será muito mais preciso e direto para resolver o seu problema. Abaixo montei um exemplo de como pode realizar essa atividade.

 

Para saber o tamanho das minhas colunas


SQL> select owner, table_name, column_name, column_id, avg_col_len from dba_tab_columns where table_name = 'TITULOS_A_PAGAR';

Resultado:

OWNER                      	TABLE_NAME                 	COLUMN_NAME                 	COLUMN_ID AVG_COL_LEN
------------------------------ ------------------------------ ------------------------------ ---------- -----------
RANET                        	TITULOS_A_PAGAR            	DATA_RETORNO_VIAGEM               	119       	1
RANET                        	TITULOS_A_PAGAR            	NOME_CONTATO_NEGOCIACAO           	120       	0
RANET                        	TITULOS_A_PAGAR            	CODIGO_FORNECEDOR_RECUSA          	116       	2
RANET                        	TITULOS_A_PAGAR            	NUMERO_TITULO_PAGAR_RECUSA        	117       	2
RANET                        	TITULOS_A_PAGAR            	SERIE_TITULO_PAGAR_RECUSA         	118       	2
RANET                        	TITULOS_A_PAGAR            	CODIGO_TIPO_TITULO_RECUSA         	115       	2
RANET                        	TITULOS_A_PAGAR            	TITI_CODIGO_TIPO_DE_TITULO          	1       	3
RANET                        	TITULOS_A_PAGAR            	FORN_CODIGO_FORNECEDOR              	2       	5
RANET                        	TITULOS_A_PAGAR            	NUMERO_DO_TITULO_A_PAGAR            	3       	7
RANET                        	TITULOS_A_PAGAR            	SERIE_DO_TITULO_A_PAGAR             	4       	3
RANET                        	TITULOS_A_PAGAR            	COFI_CODIGO_CODIFIC_RANETANC          	5       	4
RANET                        	TITULOS_A_PAGAR            	TIFO_CODIGO_TIPO_FORNECEDOR         	6       	3
RANET                        	TITULOS_A_PAGAR            	UNNE_SIGLA                          	7       	5
RANET                        	TITULOS_A_PAGAR            	RESI_CODIGO_REGIAO_SISTEMA          	8       	3
RANET                        	TITULOS_A_PAGAR            	RESI_SIGLA_EMPRESA_DO_GRUPO         	9       	4
RANET                        	TITULOS_A_PAGAR            	UNNE_SIGLA_DA_PLANTA               	10       	4
RANET                        	TITULOS_A_PAGAR            	CODIGO_AGENCIA_PAGAMENTO           	11       	3
RANET                        	TITULOS_A_PAGAR            	DIGITO_CONTA_PAGAMENTO             	12       	2
RANET                        	TITULOS_A_PAGAR            	NUMERO_CONTA_PAGAMENTO             	13       	2
RANET                        	TITULOS_A_PAGAR            	CODIGO_BANCO_PAGAMENTO             	14       	3
RANET                        	TITULOS_A_PAGAR            	INFI_CODIGO_INDICADOR_RANETANC       	15       	2
RANET                        	TITULOS_A_PAGAR            	STATUS_DE_REVISAO                  	16       	2
RANET                        	TITULOS_A_PAGAR            	DATA_DE_EMISSAO_DO_TITULO          	17       	8
RANET                        	TITULOS_A_PAGAR            	DATA_DE_VENCIMENTO_TITULO          	18       	8
RANET                        	TITULOS_A_PAGAR            	DATA_DE_PROVAVEL_PAGAMENTO         	19       	8
RANET                        	TITULOS_A_PAGAR            	VALOR_INICIAL_DO_TITULO            	20       	5
RANET                        	TITULOS_A_PAGAR            	VALOR_TOTAL_DO_TITULO              	21       	5
RANET                        	TITULOS_A_PAGAR            	SALDO_DO_TITULO                    	22       	3
RANET                        	TITULOS_A_PAGAR            	DATA_DE_CADASTRAMENTO              	23       	8
RANET                        	TITULOS_A_PAGAR            	USUARIO_DE_CADASTRAMENTO           	24      	12
RANET                        	TITULOS_A_PAGAR            	UNNE_SIGLA_EMPRESA_DO_GRUPO        	25       	4
RANET                        	TITULOS_A_PAGAR            	BOPA_NUMERO_BORDERO_PAGTO          	26       	6
RANET                        	TITULOS_A_PAGAR            	COBA_CODIGO_DO_BANCO_DEBITO        	27       	4
RANET                        	TITULOS_A_PAGAR            	COBA_CODIGO_AGENCIA_DEBITO         	28       	3
RANET                        	TITULOS_A_PAGAR            	PEJU_CODIGO_PERIOD_JURO            	29       	2
RANET                        	TITULOS_A_PAGAR            	RADE_CODIGO_RATEIO_DESPESA         	30       	0
RANET                        	TITULOS_A_PAGAR            	CODT_CODIGO_CODIFIC_TRIBUT         	31       	2
RANET                        	TITULOS_A_PAGAR            	FOPA_COD_FORMA_DE_PAGAMENTO        	32       	3
RANET                        	TITULOS_A_PAGAR            	COBA_NUMERO_CTA_BANC_DEBITO        	33       	5
RANET                        	TITULOS_A_PAGAR            	TIPA_NUMERO_TITULO_A_PAGAR         	34       	2
RANET                        	TITULOS_A_PAGAR            	TIPA_SERIE_DO_TITULO_A_PAGAR       	35       	2
RANET                        	TITULOS_A_PAGAR            	TIPA_CODIGO_TIPO_DE_TITULO         	36       	2
RANET                        	TITULOS_A_PAGAR            	TIPA_CODIGO_FORNECEDOR             	37       	2
RANET                        	TITULOS_A_PAGAR            	COBA_DIGITO_CONTA_BCA_DEBITO       	38       	2
RANET                        	TITULOS_A_PAGAR            	VALOR_IRRF_RETIDO                  	39       	2
RANET                        	TITULOS_A_PAGAR            	VALOR_ISSQN_RETIDO                 	40       	2
RANET                        	TITULOS_A_PAGAR            	VALOR_INSS_RETIDO                  	41       	2
RANET                        	TITULOS_A_PAGAR            	VALOR_ICMS                         	42       	3
RANET                        	TITULOS_A_PAGAR            	VALOR_IPI                          	43       	3
RANET                        	TITULOS_A_PAGAR            	VALOR_JURO_ATRASO                  	44       	2
RANET                        	TITULOS_A_PAGAR            	TAXA_DE_JURO_ATRASO                	45       	0
RANET                        	TITULOS_A_PAGAR            	VALOR_DESCONTO_APROVEITADO         	46       	2
RANET                        	TITULOS_A_PAGAR            	VALOR_ABATIMENTO_APROVEITADO       	47       	2
RANET                        	TITULOS_A_PAGAR            	VALOR_DO_JURO_PAGO                 	48       	2
RANET                        	TITULOS_A_PAGAR            	VALOR_JA_PAGO                      	49       	5
RANET                        	TITULOS_A_PAGAR            	DATA_DE_LIQUIDACAO                 	50       	7
RANET                        	TITULOS_A_PAGAR            	COMPLEMENTO_DO_TITULO              	51       	9
RANET                        	TITULOS_A_PAGAR            	DATA_MOVIMENTACAO                  	52       	7
RANET                        	TITULOS_A_PAGAR            	USUARIO_MOVIMENTACAO               	53       	9
RANET                        	TITULOS_A_PAGAR            	NUMERO_DA_NESM                     	54       	5
RANET                        	TITULOS_A_PAGAR            	NUMERO_DA_ORDEM_DE_COMPRA          	55       	3
RANET                        	TITULOS_A_PAGAR            	COCO_CODIGO                        	56       	9
RANET                        	TITULOS_A_PAGAR            	COCO_EMPG_SIGLA                    	57       	4
RANET                        	TITULOS_A_PAGAR            	CONDICAO_DE_PAGAMENTO              	58       	7
RANET                        	TITULOS_A_PAGAR            	IND_AVISO_DE_LANCAMENTO            	59       	2
RANET                        	TITULOS_A_PAGAR            	CODIGO_BANCO_PORTADOR              	60       	4
RANET                        	TITULOS_A_PAGAR            	CODIGO_AGENCIA_PORTADOR            	61       	3
RANET                        	TITULOS_A_PAGAR            	NUMERO_CONTA_PORTADOR              	62       	5
RANET                        	TITULOS_A_PAGAR            	DIGITO_CTA_PORTADOR                	63       	0
RANET                        	TITULOS_A_PAGAR            	DATA_RECEBIMENTO_DA_NESM           	64       	8
RANET                        	TITULOS_A_PAGAR            	INDIC_TRANSF_TITULO                	65       	2
RANET                        	TITULOS_A_PAGAR            	NUMERO_TITULO_PAGAR_IRRF           	66       	0
RANET                        	TITULOS_A_PAGAR            	SERIE_TITULO_PAGAR_IRRF            	67       	0
RANET                        	TITULOS_A_PAGAR            	CODIGO_FORNECEDOR_IRRF             	68       	0
RANET                        	TITULOS_A_PAGAR            	CODIGO_TIPO_TITULO_IRRF            	69       	0
RANET                        	TITULOS_A_PAGAR            	NUMERO_TITULO_PAGAR_INSS           	70       	0
RANET                        	TITULOS_A_PAGAR            	SERIE_TITULO_PAGAR_INSS            	71       	0
RANET                        	TITULOS_A_PAGAR            	CODIGO_FORNECEDOR_INSS             	72       	0
RANET                        	TITULOS_A_PAGAR            	CODIGO_TIPO_TITULO_INSS            	73       	0
RANET                        	TITULOS_A_PAGAR            	NUMERO_TITULO_PAGAR_ISSQN          	74       	0
RANET                        	TITULOS_A_PAGAR            	SERIE_TITULO_PAGAR_ISSQN           	75       	0
RANET                        	TITULOS_A_PAGAR            	CODIGO_FORNECEDOR_ISSQN            	76       	0
RANET                        	TITULOS_A_PAGAR            	CODIGO_TIPO_TITULO_ISSQN           	77       	0
RANET                        	TITULOS_A_PAGAR            	BASE_CALCULO_IRRF                  	78       	2
RANET                        	TITULOS_A_PAGAR            	PERCENTUAL_IRRF                    	79       	2
RANET                        	TITULOS_A_PAGAR            	INDICADOR_INCIDENCIA_INSS          	80       	2
RANET                        	TITULOS_A_PAGAR            	TIMT_CODIGO_TIPO_MOVIMENTO         	81       	3
RANET                        	TITULOS_A_PAGAR            	CODIGO_COMPENS_BCO_PORTADOR        	82       	2
RANET                        	TITULOS_A_PAGAR            	VALOR_DEDUZIR_PARCELA              	83       	2
RANET                        	TITULOS_A_PAGAR            	VALOR_DEDUZIR_DEPENDENTES          	84       	2
RANET                        	TITULOS_A_PAGAR            	DATA_CONTABIL                      	85       	8
RANET                        	TITULOS_A_PAGAR            	SEQUENCIA_CONTABIL_DESDOBRE        	86       	2
RANET                        	TITULOS_A_PAGAR            	NUMERO_TITULO_PAGAR_INSSJUR        	87       	0
RANET                        	TITULOS_A_PAGAR            	SERIE_TITULO_PAGAR_INSSJUR         	88       	0
RANET                        	TITULOS_A_PAGAR            	CODIGO_FORNECEDOR_INSSJUR          	89       	0
RANET                        	TITULOS_A_PAGAR            	CODIGO_TIPO_TITULO_INSSJUR         	90       	0
RANET                        	TITULOS_A_PAGAR            	VALOR_INSSJUR_RETIDO               	91       	2
RANET                        	TITULOS_A_PAGAR            	ADICIONAL_DO_HISTORICO_PADRAO      	92       	2
RANET                        	TITULOS_A_PAGAR            	CODIGO_BARRAS                      	93      	19
RANET                        	TITULOS_A_PAGAR            	DATA_DA_ULTIMA_REMESSA             	94       	7
RANET                        	TITULOS_A_PAGAR            	IDENTIFICADOR_INSS                 	95       	0
RANET                        	TITULOS_A_PAGAR            	CODIGO_PAGTO_INSS                  	96       	0
RANET                        	TITULOS_A_PAGAR            	DATA_COMPET_INSS                   	97       	1
RANET                        	TITULOS_A_PAGAR            	DATA_PRIMEIRO_MOVIMENTO            	98       	8
RANET                        	TITULOS_A_PAGAR            	DATA_ULTIMO_MOVIMENTO              	99       	8
RANET                        	TITULOS_A_PAGAR            	DATA_ARQUIVAMENTO                 	100       	1
RANET                        	TITULOS_A_PAGAR            	QTDE_DEPENDENTES_IRRF             	101       	2
RANET                        	TITULOS_A_PAGAR            	PERCENTUAL_IRRF_DIFER             	102       	2
RANET                        	TITULOS_A_PAGAR            	VALOR_IRRF_RETIDO_DIFER           	103       	2
RANET                        	TITULOS_A_PAGAR            	PORT_CODIGO_DO_PORTADOR           	104       	5
RANET                        	TITULOS_A_PAGAR            	VALOR_CONTR_SOC_RETIDO            	105       	2
RANET                        	TITULOS_A_PAGAR            	VALOR_PIS_RETIDO                  	106       	2
RANET                        	TITULOS_A_PAGAR            	VALOR_CORANETS_RETIDO               	107       	2
RANET                        	TITULOS_A_PAGAR            	PERC_CONTR_SOC_RETIDO             	108       	2
RANET                        	TITULOS_A_PAGAR            	PERC_PIS_RETIDO                   	109       	2
RANET                        	TITULOS_A_PAGAR            	PERC_CORANETS_RETIDO                	110       	2
RANET                        	TITULOS_A_PAGAR            	PERC_ISSQN_RETIDO                 	111       	2
RANET                        	TITULOS_A_PAGAR            	BASE_CALCULO_CSLL_PIS_CORANETS      	112       	2
RANET                        	TITULOS_A_PAGAR            	BASE_CALCULO_ISSQN                	113       	2
RANET                        	TITULOS_A_PAGAR            	CODIGO_BARRAS_ANTER               	114       	0

Perceba que o mais interessante está na coluna AVG_COL_LEN, que é a média do tamanho da coluna, e quando estiver em ZERO! É que a coluna não possui valores.

 

Para verificar se realmente isso persiste. faça o controle pelo select abaixo.

 

select distinct CODIGO_BARRAS_ANTER from RANET.TITULOS_A_PAGAR;

Não deve retornar nenhuma linha!

 

Abraços,

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.