Compartir a través de


Operador LIKE

El operador LIKE determina si una cadena de caracteres coincide con un patrón especificado. El patrón especificado puede contener exactamente los caracteres que deben coincidir o puede contener metadatos. En efecto, el operador LIKE coincide con subcadenas mediante los caracteres comodín de la tabla siguiente.

Carácter Descripción
[ ] Cualquier carácter dentro del intervalo especificado ([a-f]) o establecido ([abcdef]).
^ Cualquier carácter que no esté dentro del intervalo ([^a-f]) o establezca ([^abcdef].)
% Cualquier cadena de 0 (cero) o más caracteres. En el ejemplo siguiente se buscan todas las instancias en las que se encuentra "Win" en cualquier lugar del nombre de clase: SELECT * FROM meta_class WHERE __Class LIKE "%Win%"
_ (subrayado) Cualquier carácter. Cualquier carácter de subrayado literal usado en la cadena de consulta debe ser de escape colocándolo dentro de [] (corchetes).

 

Por ejemplo, el siguiente código de Power Shell recupera todas las instancias de la clase Win32_operatingSystem cuya propiedad Name comienza con FirstName:

Get-WmiObject win32_computerSystem -filter "Name LIKE 'FirstName%'"

Dado que el carácter de subrayado es un carácter meta, si el destino de la consulta tiene un carácter de subrayado, los caracteres de escape "[]" deben rodearlo. Por ejemplo, puede consultar todas las clases que tienen un carácter de subrayado doble en el nombre.

Para buscar todas las clases con un carácter de subrayado doble en el nombre, debe escapar ambos caracteres de subrayado con [] (corchetes), por ejemplo:

SELECT * FROM meta_class WHERE __CLASS LIKE "%[_][_]%"

Puede negar una instrucción LIKE mediante NOT; para ello, asegúrese de colocar not directamente delante del nombre del campo. Por ejemplo:

Get-WmiObject -computerName "." -query 'Select * FROM Win32_Printer WHERE Local="TRUE" AND Network ="False" AND DriverName LIKE "%HP%" AND NOT PortName LIKE "%10.%" AND NOT PortName LIKE "%\\%"'

operadores WQL de