Вычисленный разрядный столбец, который возвращается, является ли другой столбец пустым

Используя финал для констант сильно поощряется. Однако я не использовал бы его для методов или классов (или по крайней мере думал бы об этом некоторое время), потому что это делает тестирование тяжелее, если не невозможный. Если абсолютно необходимо сделать класс или финал метода, удостоверьтесь, что этот класс реализует некоторый интерфейс, таким образом, Вы можете иметь насмешка реализация того же интерфейса.

9
задан Shimmy 6 December 2009 в 04:22
поделиться

2 ответа

Это работает:

CREATE TABLE dbo.Item
(
    ItemId int NOT NULL IDENTITY (1, 1),
    SpecialItemId int NULL,
    IsSpecialItem AS
        CAST(CASE ISNULL(SpecialItemId, 0) WHEN 0 THEN 0 ELSE 1 END AS bit)
)
16
ответ дан 4 December 2019 в 07:04
поделиться

SQL Server не имеет собственного истинного логического типа данных (в том смысле, что вы можете использовать переменную вместо логического выражения, например select * from Item, где IsSpecialItem ). Единственный способ представить это - что-то вроде того, что предлагает Марк, с использованием зарезервированных значений (в этом случае ваш запрос будет select * from Item, где IsSpecialItem = 1 ).

2
ответ дан 4 December 2019 в 07:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: