Berechnete bit-Spalte gibt an, ob eine Spalte null ist
Ich versuche, diese berechnete Spalte:
CREATE TABLE dbo.Item
(
ItemId int NOT NULL IDENTITY (1, 1),
SpecialItemId int NULL,
--I tried this
IsSpecialItem AS ISNULL(SpecialItemId, 0) > 0,
--I tried this
IsSpecialItem AS SpecialItemId IS NOT NULL
--Both don't work
) ON [PRIMARY]
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies funktioniert:
Daneben Byer ' s Antwort verursacht einen Fehler mit
nvarchar
Spalten, die folgenden Werke, unabhängig davon, ob Spalte istint
odernvarchar
:SQL Server hat keine native true-boolean-Datentyp (in dem Sinne, dass Sie könnten eine variable zu verwenden, anstelle eines booleschen Ausdrucks, wie
select * from Item where IsSpecialItem
). Für Sie die einzige Möglichkeit darstellen kann, ist es mit etwas wie Mark schon sagt, mit vorbehalten Werte (in diesem Fall deine Abfrage wäreselect * from Item where IsSpecialItem = 1
).