Ошибка с оператором 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'

Другие вопросы по тегам