Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Determina se um caractere String específico corresponde a um padrão especificado.
Sintaxe
match [NOT] LIKE pattern [ESCAPE escape]
Argumentos
match Uma expressão SQL de entidade que é avaliada como um String.
pattern Um padrão a ser correspondido ao especificado String.
escape Um caractere de escape.
NOT Especifica que o resultado de LIKE seja negado.
Valor de retorno
true se o string padrão corresponder; caso contrário, false.
Observações
Expressões SQL de entidade que usam o operador LIKE são avaliadas da mesma forma que expressões que usam igualdade que os critérios de filtro. No entanto, expressões SQL de entidade que usam o operador LIKE podem incluir literais e caracteres curinga.
A tabela a seguir descreve a sintaxe do padrão string.
| Caractere curinga | Descrição | Exemplo |
|---|---|---|
| % | Qualquer string um de zero ou mais caracteres. |
title like '%computer%' localiza todos os títulos com a palavra "computer" em qualquer lugar no título. |
| _ (sublinhado) | Qualquer caractere único. |
firstname like '_ean' localiza todos os nomes de quatro letras que terminam com "ean"como Dean ou Sean. |
| [ ] | Qualquer caractere único no intervalo especificado ([a-f]) ou definido ([abcdef]). |
lastname like '[C-P]arsen' localiza sobrenomes terminando com "arsen" e começando com qualquer caractere único entre C e P, como Carsen ou Larsen. |
| [^] | Qualquer caractere único que não está no intervalo especificado ([^a-f]) ou definido ([^abcdef]). |
lastname like 'de[^l]%' localiza todos os sobrenomes que começam com "de" e não incluem "l" como a letra a seguir. |
Observação
O operador Entity SQL LIKE e a System.DateTime cláusula ESCAPE não podem ser aplicados ou System.Guid valores.
O LIKE dá suporte à correspondência de padrões ASCII e à correspondência de padrões Unicode. Quando todos os parâmetros são caracteres ASCII, a correspondência de padrões ASCII é executada. Se um ou mais dos argumentos forem Unicode, todos os argumentos serão convertidos em Unicode e a correspondência de padrões Unicode será executada. Quando você usa Unicode com LIKE, espaços em branco à direita são significativos; no entanto, para não Unicode, espaços em branco à direita não são significativos. A sintaxe de cadeia de caracteres padrão do Entity SQL é a mesma do Transact-SQL.
Um padrão pode incluir caracteres normais e curingas. Durante a correspondência de padrões, os caracteres regulares devem corresponder exatamente aos caracteres especificados no caractere string. No entanto, os caracteres curinga podem ser correspondidos a fragmentos arbitrários da cadeia de caracteres. Quando ele é usado com caracteres curinga, o operador LIKE é mais flexível do que os operadores de comparação de cadeia de caracteres = e != .
Observação
Você poderá usar extensões específicas do provedor se direcionar a um provedor específico. No entanto, esses constructos podem ser tratados de forma diferente por outros provedores, por exemplo. O SqlServer dá suporte a padrões [primeiro-último] e [^último] em que o primeiro corresponde exatamente a um caractere entre o primeiro e o último, e o último corresponde exatamente a um caractere que não está entre o primeiro e o último.
Fuga
Usando a cláusula ESCAPE, você pode pesquisar cadeias de caracteres que incluem um ou mais caracteres curinga especiais descritos na tabela na seção anterior. Por exemplo, suponha que vários documentos incluam o literal "100%" no título e você deseja pesquisar todos esses documentos. Como o caractere percentual (%) é um caractere curinga, você deve escapar dele usando a cláusula Entity SQL ESCAPE para executar a pesquisa com êxito. Veja a seguir um exemplo desse filtro.
"title like '%100!%%' escape '!'"
Nesta expressão de pesquisa, o caractere curinga percentual (%) imediatamente após o caractere de ponto de exclamação (!) é tratado como um literal, em vez de como um caractere curinga. Você pode usar qualquer caractere como um caractere de escape, exceto os caracteres curinga sql da entidade e os caracteres de colchete ([ ]). No exemplo anterior, o ponto de exclamação (!) caractere é o caractere de escape.
Exemplo
As duas consultas SQL de entidade a seguir usam os operadores LIKE e ESCAPE para determinar se uma cadeia de caracteres específica corresponde a um padrão especificado. A primeira consulta pesquisa o Name que começa com os caracteres Down_. Essa consulta usa a opção ESCAPE porque o sublinhado (_) é um caractere curinga. Sem especificar a opção ESCAPE, a consulta pesquisaria todos Name os valores que começam com a palavra Down seguida por qualquer caractere único que não seja o caractere de sublinhado. As consultas são baseadas no Modelo de Vendas adventureworks. Para compilar e executar essa consulta, siga estas etapas:
Siga o procedimento em How to: Execute a Query that Returns PrimitiveType Results.
Passe a consulta a seguir como um argumento para o
ExecutePrimitiveTypeQuerymétodo:
-- LIKE and ESCAPE
-- If an AdventureWorksEntities.Products contained a Name
-- with the value 'Down_Tube', the following query would find that
-- value.
Select value P.Name FROM AdventureWorksEntities.Products AS P
WHERE P.Name LIKE 'DownA_%' ESCAPE 'A'
-- LIKE
Select value P.Name FROM AdventureWorksEntities.Products AS P
WHERE P.Name LIKE 'BB%'