2013-10-23 85 views
2

我需要编写一个WMI查询,我需要检查某个值是否等于列表中的某个值,但是我没有发现WQL支持SQL这样的IN运算符。WQL中的IN运算符

例如: SELECT * FROM Device WHERE __CLASS IN(“Device1”,“Device20”)。

如何编写此查询有哪些方法?

谢谢。

回答

4

WMI使用WQL语言,该语言只是SQL语言的子集,并且不包含IN运算符。

所以你可以重写使用OR运算符TOR一句,像这样

SELECT * FROM Win32_LogicalDisk Where (DriveType=3) or (DriveType=5) 

或使用您的WQL句子。

SELECT * FROM Device WHERE (__CLASS="Device1") OR (__CLASS="Device20") 
+0

但在这种情况下,查询可能会增长很多,不会工作? – Ievgen