DateColumn的类型为date
。我想这样做:
ALTER TABLE MyTable ADD MyComputedColumn AS (DateColumn < '2010-12-31');
我也尝试过:
ALTER TABLE MyTable ADD MyComputedColumn AS (DateColumn < convert(date, '2010-12-31'));
但是存在语法错误。什么是正确的语法?
答案 0 :(得分:4)
SQL Server没有直接表示“true”和“false”的数据类型。您必须使用case语句并返回基本类型。
ALTER TABLE MyTable ADD MyComputedColumn AS (CASE WHEN (DateColumn < '2010-12-31') THEN 1 ELSE 0 END);
答案 1 :(得分:1)
我猜你想要这个有点字段:
ALTER TABLE MyTable ADD MyComputedColumn AS (ISNULL(CONVERT(bit,case when (DateColumn < '2010-12-31')
then 0
else 1
end),0))