Ir para conteúdo

Arquivado

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

renata_crd

Case

Recommended Posts

Senhores,


eu tenho uma query a qual eu preciso que ela seja gerada separada por ; outra condição é que os campos que eu nao tenho eu fixo um valor NULL isso porque eu preciso gerar um arquivo que vai ser importado por um software.


Ate aí blz!!! O problema que me surgiu foi que minha condição agora é:


Se o campo FUCODSITU = 1 entao eu preencho com NULL

Se diferente de 1 entao eu trago a coluna FUDTINISIT



CASE WHEN FUCODSITU = '1' THEN 'Null'

WHEN FUCODSITU <> '1' THEN FUDTINISIT

END


Erro:


Relatório de Erro:

Erro de SQL: ORA-00932: tipos de dados inconsistentes: esperava CHAR obteve NUMBER

00932. 00000 - "inconsistent datatypes: expected %s got %s"

*Cause:

*Action:

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente

 

 

CASE WHEN FUCODSITU = '1' THEN null

     WHEN FUCODSITU <> '1' THEN FUDTINISIT 

     ELSE NULL

END

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, 'null' é uma string , null é nulo. FUDTINISIT deve ser numérico por isto o conflito

 

outra possível solucao

 

 

CASE WHEN FUCODSITU = '1' THEN 'Null'      
     WHEN FUCODSITU <> '1' THEN to_char(FUDTINISIT)       
     ELSE 'Null' END

 




			
		

Compartilhar este post


Link para o post
Compartilhar em outros sites

e se eu quiser alem do campo concatenar ele por exemplo. Trazendo o campo FUDTINISIT + essa data fixa 31/12/2050

 

WHEN FUCODSITU <> '1' THEN to_char(FUDTINISIT) + ';' +'31/12/2050'

 

é possivel?

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.