Bagikan melalui


LIKE Operator

Operator LIKE menentukan apakah string karakter cocok dengan pola tertentu atau tidak. Pola yang ditentukan dapat berisi karakter yang tepat untuk dicocokkan, atau dapat berisi karakter meta. Akibatnya, operator LIKE cocok dengan substring menggunakan karakter kartubebas dalam tabel berikut.

Karakter Deskripsi
[ ] Setiap satu karakter dalam rentang yang ditentukan ([a-f]) atau set ([abcdef]).
^ Satu karakter apa pun yang tidak berada dalam rentang ([^a-f]) atau set ([^abcdef].)
% Setiap string 0 (nol) atau lebih karakter. Contoh berikut menemukan semua instans di mana "Win" ditemukan di mana saja dalam nama kelas: SELECT * FROM meta_class WHERE __Class LIKE "%Win%"
_ (garis bawah) Setiap satu karakter. Setiap garis bawah harfiah yang digunakan dalam string kueri harus diloloskan dengan menempatkannya di dalam [] (kurung siku).

 

Misalnya, kode Power shell berikut mengambil semua instans kelas Win32_operatingSystem yang properti Namanya dimulai dengan FirstName:

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

Karena garis bawah adalah karakter meta, jika target kueri memiliki garis bawah, karakter escape "[]" harus mengelilinginya. Misalnya, Anda dapat mengkueri semua kelas yang memiliki garis bawah ganda dalam nama.

Untuk menemukan semua kelas dengan garis bawah ganda dalam nama, Anda harus menghindari kedua garis bawah dengan [] (kurung siku), misalnya:

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

Anda dapat meniadakan pernyataan LIKE menggunakan NOT; untuk melakukannya, pastikan untuk menempatkan NOT langsung di depan nama bidang. Contohnya:

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

Operator WQL