Oracle - "Escapamento" de caracteres especiais

Setembro 2016


Para algumas consultas SQL, precisamos procurar uma cadeia de caracteres com caracteres especiais, tais como o '%'

No exemplo a seguir, que é falso, é preciso encontrar registros que contenham, no meio, o caractere '%':

SELECT *   
FROM table   
WHERE champs LIKE '%%%';


Para isso, é preciso saber como "escapar" (ou "desespecializar") os caracteres especiais. Temos de começar por dar um valor para o parâmetro SQL ESCAPE (parâmetro para escapar os caracteres), por exemplo '^':
SQL>SET ESCAPE ^

A partir deste momento, o caractere '^' poderá servir para "desespecializar" os caracteres especiais. Voltando ao nosso exemplo corretamente:
SELECT *   
FROM table   
WHERE champs LIKE '%^%%';



Tradução feita por Lucia Maurity y Nouira

Veja também :
Este documento, intitulado « Oracle - "Escapamento" de caracteres especiais »a partir de CCM (br.ccm.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.