SQL - установка переменной, равной ISNULL? - PullRequest
0 голосов
/ 23 ноября 2018

Меня смущает строка кода.

IF @StatusCode = '71' BEGIN SET @VarA = Isnull(@VarC, @VarD)

Каким именно будет результат для VarA в обеих ситуациях VarC равен нулю и не равен?

Ответы [ 3 ]

0 голосов
/ 23 ноября 2018

Функция ISNULL () позволяет вам возвращать альтернативное значение, когда выражение равно NULL.

, если @VARC не равно нулю, @VarA = @VARC.

Если @VARC равно нулю,@VarA = @VarD.

0 голосов
/ 23 ноября 2018

Эти два кода эквивалентны

SET @VarA = Isnull(@VarC, @VarD)

и

if @VarC is not null 
   set @VarA = @VarC 
else
  set @VarA = @VarD 
0 голосов
/ 23 ноября 2018

ISNUL является альтернативой для установки значений, которые являются нулевыми для альтернативного значения, как в вашем случае Isnull(@VarC, @VarD), если @VarC равен нулю, тогда значение будет @var_d иначе @VarC непосредственно

...