The LIKE operator determines whether or not a character string matches a specified pattern. The specified pattern can contain exactly the characters to match, or it can contain meta characters. The following table lists the meta characters.
|[ ]||Any one character within the specified range ([a-f]) or set ([abcdef]).|
|^||Any one character not within the range ([^a-f]) or set ([^abcdef].)|
|%||Any string of 0 (zero) or more characters. The following example finds all instances where "Win" is found anywhere in the class name: |
|_ (underscore)||Any one character. Any literal underscore used in the query string must be escaped by placing it inside  (square brackets).|
Because the underscore is a meta character, if the query target has an underscore, the "" escape characters must surround it. For example, you can query for all the classes that have a double underscore in the name.
To locate all classes with a double underscore in the name, you must escape both underscores with  (square brackets), for example:
SELECT * FROM meta_class WHERE __CLASS LIKE "%[_][_]%"
You can negate a LIKE statement using NOT; to do so, be sure to place the NOT directly in front of the field name. For example:
Select * FROM Win32_Printer WHERE Local='TRUE' AND Network ='False' AND DriverName LIKE '%HP%' AND NOT PortName LIKE '%10.%' AND NOT PortName LIKE '%\\%