Condividi tramite


Operatore LIKE

L'operatore LIKE determina se una stringa di caratteri corrisponde a un modello specificato. Il modello specificato può contenere esattamente i caratteri da trovare o può contenere meta caratteri. In effetti, l'operatore LIKE corrisponde alle sottostringa usando i caratteri jolly nella tabella seguente.

Carattere Descrizione
[ ] Qualsiasi carattere all'interno dell'intervallo specificato ([a-f]) o impostato ([abcdef]).
^ Qualsiasi carattere non compreso nell'intervallo ([^a-f]) o impostato ([^abcdef].)
% Qualsiasi stringa di 0 (zero) o più caratteri. Nell'esempio seguente vengono trovate tutte le istanze in cui viene trovato "Win" ovunque nel nome della classe: SELECT * FROM meta_class WHERE __Class LIKE "%Win%"
_ (carattere di sottolineatura) Qualsiasi carattere. Qualsiasi sottolineatura letterale usata nella stringa di query deve essere escape inserendola all'interno di [] (parentesi quadre).

 

Ad esempio, il codice power shell seguente recupera tutte le istanze della classe Win32_operatingSystem la cui proprietà Name inizia con FirstName:

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

Poiché il carattere di sottolineatura è un meta carattere, se la destinazione della query ha un carattere di sottolineatura, i caratteri di escape "[]" devono circondarlo. Ad esempio, è possibile eseguire una query per tutte le classi con un carattere di sottolineatura doppia nel nome.

Per individuare tutte le classi con un carattere di sottolineatura doppia nel nome, è necessario eseguire l'escape di entrambi i caratteri di sottolineatura con [] (parentesi quadre), ad esempio:

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

È possibile negare un'istruzione LIKE usando NOT; a tale scopo, assicurarsi di posizionare il NOT direttamente davanti al nome del campo. Ad esempio:

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 "%\\%"'

Operatori WQL