Sql Server Computed syntaxe colonne de formule
-
19-09-2019 - |
Question
Je veux utiliser une colonne de bits calculée qui sera vrai si une autre colonne dans la table n'est pas nul. Quelle est la bonne formule pour cela?
HasLabel = computed column (bit)
Label = varchar NULL
La formule suivante ne valide pas. - qu'est-ce que je manque
Formule pour HasLabel = Label IS NOT NULL
La solution
Une colonne calculée doit retourner une valeur, alors que vous faites juste une comparaison. Essayez ceci:
case when label is null then 0 else 1 end
SQL Server ne comprendra pas cela comme une colonne non Nullable cependant. Pour gérer cela, changer le calcul à:
isnull(case when label IS NULL then 0 else 1 end, 0)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow