Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Determina si un elemento String de caracteres específico coincide con un patrón especificado.
[NOT] LIKE ( expression )
Argumentos
- match
Expresión de Entity SQL que se evalúa como un elemento String.
- pattern
Patrón que va a coincidir con el elemento String especificado.
- escape
Carácter de escape.
- NOT
Especifica que el resultado de LIKE se niega.
Valor devuelto
true si el elemento string coincide con el patrón; de lo contrario, false.
Notas
Las expresiones de Entity SQL que utilizan al operador LIKE se evalúan de forma muy parecida a las expresiones que utilizan la igualdad como criterios de filtrado. Sin embargo, las expresiones de Entity SQL que utilizan el operador LIKE pueden incluir tanto literales como caracteres comodín.
En la tabla siguiente se describe la sintaxis del elemento string del argumento pattern.
Carácter comodín | Descripción | Ejemplo |
---|---|---|
% |
Cualquier elemento string de cero o más caracteres. |
|
_ (carácter de subrayado) |
Cualquier carácter individual. |
|
[ ] |
Cualquier carácter individual del intervalo ([a-f]) o del conjunto ([abcdef]) que se han especificado. |
|
[^] |
Cualquier carácter individual no incluido en el intervalo ([^a-f]) o del conjunto ([^abcdef]) que se han especificado. |
|
![]() |
---|
El operador LIKE y la cláusula ESCAPE de Entity SQL no se pueden aplicar a los valores System.Guid o System.DateTime. |
LIKE admite operaciones de búsqueda de coincidencias de patrón ASCII y Unicode. Cuando todos los parámetros son caracteres ASCII, se realiza la operación de búsqueda de coincidencias de patrón ASCII. Si uno o más argumentos son Unicode, todos los argumentos se convierten a Unicode y se realiza la operación de búsqueda de coincidencias de patrón Unicode. Cuando se utiliza Unicode con LIKE, los espacios en blanco al final son significativos; sin embargo, no lo son para los datos que no son Unicode. La sintaxis de cadena de patrón de Entity SQL coincide con la de Transact-SQL .
Un patrón puede contener caracteres normales y caracteres comodín. Durante la operación de búsqueda de coincidencias de patrón, los caracteres normales deben coincidir exactamente con los caracteres especificados en el elemento string de caracteres. Sin embargo, los caracteres comodín pueden coincidir con fragmentos arbitrarios de la cadena de caracteres. Cuando se utiliza con caracteres comodín, el operador LIKE es más flexible que los operadores de comparación de cadenas = y !=.
![]() |
---|
Puede utilizar extensiones específicas del proveedor si el destino es un proveedor concreto.Sin embargo, otros proveedores pueden tratar de manera diferente este tipo de estructuras.SqlServer admite patrones [primero-último] y [^primero-último] donde el primero coincide exactamente con un carácter entre el primero y el último, y el segundo coincide exactamente con un carácter que no está entre el primero y el último. |
Escape
El uso de la cláusula ESCAPE permite buscar cadenas de caracteres que incluyen uno o más de los caracteres comodín especiales que se describen en la tabla de la sección anterior. Por ejemplo, suponga que varios documentos incluyen el literal "100%" en el título y desea buscar todos esos documentos. Dado que el carácter de porcentaje (%) es un carácter comodín, debe evitarlo utilizando la cláusula ESCAPE de Entity SQL para ejecutar correctamente la búsqueda. A continuación se muestra un ejemplo de este filtro.
"title like '%100! %%' escape '!'"
En esta expresión de búsqueda, el carácter comodín de porcentaje (%) situado inmediatamente después del carácter de exclamación (!) se trata como literal, en lugar de como carácter comodín. Puede utilizar cualquier carácter como carácter de escape salvo los caracteres comodín de Entity SQL y los caracteres incluidos entre corchetes ([ ]
). En el ejemplo anterior, el carácter de exclamación (!) es el carácter de escape.
Ejemplo
Las dos consultas de Entity SQL siguientes utilizan los operadores ESCAPE y LIKE para determinar si una cadena de caracteres concreta coincide con un patrón especificado. La primera consulta busca el elemento Name
que empieza con los caracteres Down_
. Esta consulta utiliza la opción ESCAPE porque el carácter de subrayado (_
) es un carácter comodín. Sin especificar la opción ESCAPE, la consulta buscaría valores de Name
que empezasen con la palabra Down
seguida de cualquier carácter individual diferente del carácter de subrayado. Las consultas se basan en el modelo AdventureWorks Sales. Para compilar y ejecutar esta consulta, siga estos pasos:
Siga el procedimiento de Cómo: Ejecutar una consulta que devuelve resultados PrimitiveType (EntityClient).
Pase la consulta siguiente como argumento al método
ExecutePrimitiveTypeQuery
:
-- 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%'