2
我需要编写一个WMI查询,我需要检查某个值是否等于列表中的某个值,但是我没有发现WQL支持SQL这样的IN运算符。WQL中的IN运算符
例如: SELECT * FROM Device WHERE __CLASS IN(“Device1”,“Device20”)。
如何编写此查询有哪些方法?
谢谢。
我需要编写一个WMI查询,我需要检查某个值是否等于列表中的某个值,但是我没有发现WQL支持SQL这样的IN运算符。WQL中的IN运算符
例如: SELECT * FROM Device WHERE __CLASS IN(“Device1”,“Device20”)。
如何编写此查询有哪些方法?
谢谢。
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")
但在这种情况下,查询可能会增长很多,不会工作? – Ievgen