gpt4 book ai didi

sql-server - alter table add bit column as case when 情况

转载 作者:行者123 更新时间:2023-12-02 17:06:14 25 4
gpt4 key购买 nike

您好,我要在我的表中添加一个新列

  ALTER TABLE MyTable ADD  Active  AS    CASE WHEN EndDate < getdate() then 0 ELSE 1 END

如何将列设置为位?因为默认情况下它是一个 int32。我尝试的是使用这个

ALTER TABLE MyTable ADD  Active BIT AS    CASE WHEN EndDate < getdate() then 0 ELSE 1 END

因为一些stackoverflow答案。然而,我正在做的事情似乎不是一个好的方法。

最佳答案

将其转换为BIT:

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;

enter image description here

关于sql-server - alter table add bit column as case when 情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51719121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com