Questão FC90583
SELECT nome FROM funcionario WHERE area = 'INTELIGENCIA' AND endereco LIKE '%BRASILIA,DF%'; Tendo como referência o código SQL precedente, julgue o item a seguir. Em LIKE '%BRASILI
Linguagem SQL
CEBRASPE (CESPE) · 2018
SELECT nome
FROM funcionario
WHERE area = 'INTELIGENCIA'
AND endereco LIKE '%BRASILIA,DF%';
Tendo como referência o código SQL precedente, julgue o item a seguir.
Em LIKE '%BRASILIA,DF%', o recurso LIKE foi definido de forma incorreta, uma vez que a utilização da vírgula (,), sem a inclusão da palavra-chave ESCAPE, impedirá que o código seja executado.
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
Comentário: A assertiva está errada, pois a vírgula (,) dentro da cláusula LIKE não causa erro de sintaxe e não exige o uso da palavra-chave ESCAPE.
- A vírgula é um caractere comum:
- No padrão SQL, a vírgula (
",") não tem significado especial dentro da string. - No trecho:
- No padrão SQL, a vírgula (
O SQL interpretará "BRASILIA,DF" como uma string normal, buscando endereços que contenham exatamente esse texto.
A palavra-chave
ESCAPE só é necessária para caracteres especiais do LIKE:- O operador
LIKEusa%para múltiplos caracteres e_para um único caractere. - Se quisermos buscar textos contendo
%ou_literalmente, precisaríamos doESCAPE, como em:
LIKE '%50\% desconto%' ESCAPE '\'
- No caso da questão, a vírgula não é um caractere especial no
LIKE, então oESCAPEnão é necessário.
- No caso da questão, a vírgula não é um caractere especial no
- O código SQL apresentado é válido:
- O
LIKE '%BRASILIA,DF%'funciona corretamente, sem precisar doESCAPE.
- O
Assertiva corrigida:
"O recurso
LIKE foi definido corretamente, pois a vírgula (,) não é um caractere especial na cláusula LIKE, e o uso da palavra-chave ESCAPE não é necessário para a consulta ser executada."Conteúdo do catálogo FC Concursos · Atualizado em