LIKE 运算符

LIKE 运算符确定字符串是否与指定模式匹配。 指定的模式可以刚好包含要匹配的字符,也可以包含元字符。 实际上,LIKE 运算符使用下表中的通配符来匹配子字符串。

字符 说明
[ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。
^ 任何不在范围 ([^a-f]) 或集合 ([^abcdef]) 中的单个字符。
% 任何包含 0(零)个或零个以上字符的字符串。 以下示例查找类名称中任何位置出现“Win”的所有实例:SELECT * FROM meta_class WHERE __Class LIKE "%Win%"
_(下划线) 任何单个字符。 查询字符串中使用的任何文本下划线都必须放在 [](方括号)内进行转义。

 

例如,以下 PowerShell 代码检索其 Name 属性以 FirstName 开头的 Win32_operatingSystem 类的所有实例:

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

因为下划线是元字符,所以如果查询目标有下划线,则必须用“[]”转义字符将其括起来。 例如,可以查询名称中有双下划线的所有类。

若要查找名称中带双下划线的所有类,必须使用 [](方括号)对两个下划线进行转义,例如:

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

可以使用 NOT 来否定 LIKE 语句;为此,请务必将 NOT 直接放在字段名称的前面。 例如:

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

WQL 运算符: