SQL Server 2012 IIF не распознается

Я использую SQL Server 2012 и пытаюсь использовать функцию IIF, но получаю следующую ошибку:

Сообщение 195, уровень 15, состояние 10, строка 1
'iif' не является распознаваемым именем встроенной функции.

Даже с такой простой вещью, как

 SELECT IIF(5 > 4, 'true', 'false') 

это терпит неудачу. Фактически, это точное утверждение дает «Неправильный синтаксис рядом с '>'». ошибка

Заранее спасибо!


person ceithor    schedule 20.02.2014    source источник


Ответы (1)


Есть ли шанс, что вы используете Management Studio 2012, но подключаетесь к более старой версии механизма SQL Server?

Запустите SELECT @@Version и покажите нам результат — это покажет вам, к какой версии движка вы подключены.

В моем случае я получаю:

Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
28 июня 2012 г., 08:36:30
Copyright (c) Microsoft Corporation Developer Edition (64-разрядная версия) для Windows NT 6.1 (сборка 7601: пакет обновления 1) (гипервизор)

Что вы получаете?!?

IIF только работает, если вы подключены к версии движка 2012 (v11.0)!

person marc_s    schedule 20.02.2014
comment
Ага. Должно быть это. Также протестировано снижение уровня совместимости в базе данных, и это не вызывает этой ошибки. - person Martin Smith; 20.02.2014
comment
БИНГО! Вот в чем проблема, спасибо! Вот что я получил Microsoft SQL Server 2008 R2 (SP1) - 10.50.2550.0 (X64) - person ceithor; 20.02.2014