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