Concatenando strings (chars, varchar2, etc) ou clobs no Oracle

É conhecimento comum que bancos diferentes tem diferenças nas operações. A concatenação de strings não ficou fora dessa. A forma como este procedimento é feito no SQL Server não pode ser “migrada as-is” para o Oracle. Neste post, mostro como realizar a concatenação.

Para começar, no Oracle, o operador + é destinado a somar coisas. Então, se você tentar concatenar utilizando este valor, ele vai retornar a seguinte mensagem de erro:

SQL Error [932] [42000]: ORA-00932: tipos de dados inconsistentes: esperava CHAR obteve NUMBER
oracle.jdbc.OracleDatabaseException: ORA-00932: tipos de dados inconsistentes: esperava CHAR obteve NUMBER

 

Existem duas formas de concatermos string no Oracle, a primeira é essa:

Sim, o que você (normalmente) utiliza como um OR, aqui é um operador de concatenação.

 

A outra forma é utilizando a função concat:

A desvantagem da função concat é que ela só permite dois argumentos, então com o || você tem mais controle e flexibilidade.

 

Ambas formas podem ser utilizadas para concatenar strings ou CLOBS. (Se for para misturar os dois datatypes, você vai ter que converter os dados primeiro).

 

Referência: Help do Oracle.
The following two tabs change content below.
Breno RdV
Ex-Psicólogo, com quase uma década de experiência em Recursos Humanos e Gestão de Pessoas, atual desenvolvedor e Analista de Sistemas, trabalhando com PowerBuilder, C#, PowerShell e expandindo horizontes para Python, Xamarin, PHP, Angular e (por que não?) Unity.

Comments

comments

Posted in Banco de Dados, Dev and tagged , , , , , , , .