【问题标题】:IN operator in WQLWQL 中的 IN 运算符
【发布时间】:2013-10-23 00:42:58
【问题描述】:

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

例如:

SELECT * FROM Device WHERE __CLASS IN ("Device1", "Device20").

这个查询有哪些写法?

谢谢。

【问题讨论】:

    标签: windows wmi wmi-query wql


    【解决方案1】:

    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")
    

    【讨论】:

    • 但是在这种情况下,查询可能会增长很多并且不起作用?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-18
    • 2011-11-15
    • 2012-05-10
    相关资源
    最近更新 更多