2009-09-30 13 views
8

Quiero usar una columna de bits calculada que será verdadera si otra columna en la tabla no es nulo. ¿Cuál es la fórmula correcta para esto?servidor SQL computarizada sintaxis columna de fórmula

HasLabel = computed column (bit) 
Label = varchar NULL 

La siguiente fórmula no valida. - ¿Qué me estoy perdiendo?
Fórmula para HasLabel = Label IS NOT NULL

Respuesta

26

Una columna calculada debe devolver un valor, mientras que usted solo está haciendo una comparación. Pruebe esto en su lugar:

case when label is null then 0 else 1 end 

SQL Server no lo entenderá como una columna no-NULLable sin embargo. Para manejar eso, cambie el cálculo a:

+1

O 'ISNULL (CASO CUANDO LA etiqueta ES NULA ENTONCES 0 END, 1)' es un poco más corto. –

+0

@MartinSmith y éste es un poco más corto todavía: 'isnull (caso cuando label> 1 entonces 1 final, 0)' – RedFilter

Cuestiones relacionadas