gpt4 book ai didi

sql-server - SQL更改表中的列从位到整数

转载 作者:行者123 更新时间:2023-12-03 02:09:36 24 4
gpt4 key购买 nike

所以我想要做的是更改一个表并将列从 BIT 更改为 INT。虽然当前列中存在空值,但我想更改为 -1 并且不允许为空。由于 BIT 仅保存 0 和 1,我如何将列更改为 INT 并将 Null 值设置为 -1

我在想一些类似的事情

ALTER TABLE TABLENAME
ALTER COLUMN COLUMNAME INT SET DEFAULT -1
WHEN NULL THEN CAST(-1 AS INT)

最佳答案

希望以下代码片段对您有所帮助。

--Created table for testing
CREATE TABLE Test(COl Bit)

--Insertint values
INSERT INTO Test VALUES(0)
INSERT INTO Test VALUES(NULL)
INSERT INTO Test VALUES(1)

--Change the column type
ALTER TABLE Test ALTER COLUMN COL INT

-- Update null values to -1
UPDATE Test SET COL = ISNULL(COL,-1) WHERE COL is NULL

-- Changing the column to not null
ALTER TABLE Test ALTER COLUMN COL int NOT NULL

关于sql-server - SQL更改表中的列从位到整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24417384/

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