Обработка пустого поля как нуля для запроса на обновление

Я использую построитель запросов SQL Express 2010. Мне нужно увеличить поле.

В моем коде поддержки я делаю вызов, например

tableAdapter.IncrementLikeCount(id);

Если я просто использую приращение, поле Like может быть пустым, поэтому я хочу либо а. рассматривать нуль как ноль в этом поле ИЛИ б. установить в 1, если ноль, и увеличить в противном случае.

Самая последняя вещь, которую я пробовал, - это вариант b со следующим кодом в построителе запросов:

UPDATE       [dbo].[myTable]
SET                [LikeCount] = IIF(ISNULL([LikeCount]), 1, LikeCount + 1)
WHERE        ([ID] = @Original_ID)

Однако это не работает. Построитель запросов продолжает переписывать выражение внутри ISNULL без квадратных скобок и с запятой, как показано ниже:

UPDATE       [dbo].[myTable]
SET                [LikeCount] = IIF(ISNULL(LikeCount,), 1, LikeCount + 1)
WHERE        ([ID] = @Original_ID)

Есть ли простой и понятный способ сделать это?

0
задан elbillaf 3 February 2012 в 22:42
поделиться