2009-09-09 12 views
3

Pourquoi .. Est-cesous condition SQL sur Bit

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

cette urgence

« Une expression de type non booléen spécifié dans un contexte où une condition est prévu, près de 'Sélectionner'."

Y at-il un type booléen dans SQL2008?

Répondre

13

@SkyBlue est un peu, pas un booléen. Essayez:

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

Notez que cela ne fonctionne pas aussi

if 1 
    Select 'the sky is blue!' 
ELSE 
    Select 'the sky is not blue!' 
Questions connexes