Условный SQL для бита

Почему это происходит...

DECLARE @SkyBlue Bit
SET @SkyBlue = 1
IF @SkyBlue
    Select 'the sky is blue!'
ELSE
    Select 'the sky is not blue!'

Произвести это

«Выражение нелогического типа, указанное в контексте, где ожидается условие, рядом с «Выбрать».

И есть ли логический тип в SQL2008?


person madcolor    schedule 09.09.2009    source источник


Ответы (1)


@SkyBlue — это бит, а не логическое значение. Пытаться:

DECLARE @SkyBlue Bit
SET @SkyBlue = 1
IF @SkyBlue = 1
    Select 'the sky is blue!'
ELSE
    Select 'the sky is not blue!'

Обратите внимание, что это также не работает

if 1
    Select 'the sky is blue!'
ELSE
    Select 'the sky is not blue!'
person Matthew Vines    schedule 09.09.2009