SELECT – LIKE ESCAPE

Aeee

agora vai um negocio para quem procura na net e nao encontra… ou pelo menos acabou chegando aqui por acaso hahaha

se eu tenho uma coluna que tenha “_” no valor, como posso procurar isso num like?!?!?!?!

Ex:

SELECT * FROM ALL_TABLES WHERE TABLE_NAME LIKE ‘%MAP_%’

O select acima retornará diversas linhas. Algumas colunas terão map_ no valor outras não. Isso porque o “_” dentro do like se refere a qualquer caractere não nulo!

logo, a expressão acima equivale a: 

SELECT * FROM ALL_TABLES WHERE TABLE_NAME LIKE ‘%MAP%’

Mas e se eu quiser apenas as colunas cujo o valor seja “map_”?

então devo usar ESCAPE

algo mais ou menos assim:

SELECT * FROM ALL_TABLES WHERE TABLE_NAME LIKE ‘%MAP\_%’ ESCAPE ‘\’

Observe que que eu defini o escape como o char \ , porém eu posso utilizar qquer letra ou algarismo para definí-lo.

Deixe uma resposta