Оператор IN в WQL

Мне нужно написать WMI-запрос, в котором мне нужно проверить, что какое-то значение равно одному из значений в списке, но я не обнаружил, что WQL поддерживает оператор IN, такой как SQL.

Например: ВЫБРАТЬ * С устройства, ГДЕ __CLASS IN ("Устройство1", "Устройство20").

Как написать этот запрос?

Благодарю.

1 ответ

Решение

WMI использует WQL язык, который является только подмножеством языка SQL и не включает в себя IN оператор.

Таким образом, вы можете переписать предложение с помощью оператора ИЛИ, например, так

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

или используя ваше WQL-предложение.

SELECT * FROM Device WHERE (__CLASS="Device1") OR (__CLASS="Device20")
Другие вопросы по тегам