SQL Server Computed Column Formelsyntax
-
19-09-2019 - |
Frage
Ich möchte eine berechnete Bit-Spalte verwenden, die wahr ist, wenn eine andere Spalte in der Tabelle nicht null ist. Was ist die richtige Formel für das?
HasLabel = computed column (bit)
Label = varchar NULL
Die folgende Formel überprüft nicht. - was bin ich dabei
Formel für HasLabel = Label IS NOT NULL
Lösung
Eine berechnete Spalte muss einen Wert zurückgeben, während Sie gerade einen Vergleich zu tun. Versuchen Sie stattdessen:
case when label is null then 0 else 1 end
SQL Server nicht versteht dies als eine Nicht-Nullable Spalte jedoch. Um das zu umgehen, um die Berechnung zu ändern:
isnull(case when label IS NULL then 0 else 1 end, 0)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow