Sql server 更改表格添加位列,视情况而定
您好,我正在向表中添加一个新列Sql server 更改表格添加位列,视情况而定,sql-server,tsql,calculated-columns,alter,Sql Server,Tsql,Calculated Columns,Alter,您好,我正在向表中添加一个新列 ALTER TABLE MyTable ADD Active AS CASE WHEN EndDate < getdate() then 0 ELSE 1 END ALTER TABLE MyTable ADD Active AS CASE当EndDate
ALTER TABLE MyTable ADD Active AS CASE WHEN EndDate < getdate() then 0 ELSE 1 END
ALTER TABLE MyTable ADD Active AS CASE当EndDate
如何将列设置为一个位?因为默认情况下它是一个int32。
我试着用这个
ALTER TABLE MyTable ADD Active BIT AS CASE WHEN EndDate < getdate() then 0 ELSE 1 END
ALTER TABLE MyTable在EndDate
因为一些答案。然而,这似乎不是我正在做的一件好事 将其转换为
位
:
CREATE TABLE dbo.MyTable
(
EndDate datetime2
);
ALTER TABLE MyTable
ADD Active AS CAST(CASE WHEN EndDate < getdate() then 0 ELSE 1 END AS BIT)
SELECT c.name
,t.[name]
FROM sys.[columns] c
INNER JOIN sys.[types] t
ON c.[system_type_id] = t.[system_type_id]
WHERE object_id = OBJECT_ID ('dbo.MyTable')
DROP TABLE dbo.MyTable;
创建表dbo.MyTable
(
结束日期日期时间2
);
更改表MyTable
添加活动铸态(EndDate