Вычитать NULL из десятичного числа (SQL Server)? - PullRequest
1 голос
/ 09 марта 2011

У меня есть этот запрос здесь:

@someDecimal - (select sum(amount) from SomeTable)

У меня есть похожие запросы, использующие выберите сумму (сумму) из SomeTable для вычисления некоторых значений. Дело в том, что если в SomeTable нет значений, результат равен NULL. Теперь я могу использовать ISNULL каждый раз, когда использую выбрать сумму (сумму) из SomeTable , чтобы вычислить что-то, но это одно и то же снова и снова. Мне было интересно, есть ли какой-то способ рассчитать это один раз, установить его в 0, если его значение NULL, и использовать его вместо этого. У меня эта сосуда в области СО.

;WITH MyWithStuff AS (.....)

Я использую SQL Server 2008.

Спасибо: -)

1 Ответ

1 голос
/ 09 марта 2011

это поведение называется ANSI NULLS, и его можно включить или отключить для каждого соединения, используя SET ANSI_NULLS OFF (или ON). Вот ссылка на SQL BOL, обратите внимание, что MS говорит, что в будущем отключение не будет поддерживаться, поэтому ISNULL или COALESCE - это путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...