Изменение Jet SQL IsNull на SQL IsNull Функция - PullRequest
0 голосов
/ 08 июня 2019

У меня есть запрос в MS Access, который я пытаюсь изменить на представление SQL

Одна из частей оператора выбора -

IIf(IsNull([Book ID]),-1,[Book ID]) AS SubBookID

В отличие от Access T-SQL требует 2 параметра для функции IsNull.

Что мне нужно сделать, это что-то вроде

IIf(IsNull([Book ID],true),-1,[Book ID]) AS SubBookID

Но мы не можем использовать true подобным образом, потому что T-SQL считает, что это имя столбца

1 Ответ

1 голос
/ 08 июня 2019

вы собираетесь проверить, является ли [Book ID] нулевым или нет.Если это значение равно нулю, то вы собираетесь вернуть -1, в противном случае вы собираетесь вернуть [Book ID].

. Для достижения этого вам нужно исправить это как:

ISNULL([Book ID],-1) AS SubBookID

КакВы видите, что вам больше не нужна функция IIF в этой ситуации.

Подробнее о ISNULL в T-SQL: https://docs.microsoft.com/en-us/sql/t-sql/functions/isnull-transact-sql?view=sql-server-2017

...