Ошибка с оператором IIF в SQL Server 2014
Я создаю представление SQL Server 2014 в Management Studio, в котором используется оператор IIF, но продолжаю получать сообщение об ошибке: выражение не-булева типа, указанное в контексте, где ожидается условие.
Я попытался по-новому взглянуть на сверхпростое утверждение IIF, и оно тоже провалилось.
Это утверждение, которое я использую для проверки: SELECT IIF('1=1', 'True', 'False') AS Expr1
2 ответа
Решение
SELECT IIF(1=1, 'True', 'False') AS Expr1
'1=1'
ты раньше не был boolean
состояние. Изменил это на 1=1
Это означает, что первый параметр должен возвращать истинное или ложное условие. Следовательно, вычисление двух целых чисел приведет к этому. То, что у вас сейчас было, было просто строкой
SELECT IIF(1=1, 'True', 'False') AS Expr1
Можно также сделать '1' = '1'