如何更新以下条件的值
CREATE TABLE T
(
C VARCHAR(10)
);
INSERT INTO T
VALUES ('0000'),
('123456789'),
('A'),
(''),
(' '),
(NULL);
我需要保留 NULL 值或 0000 的值,并将其余值更新为 1234。
预期输出如下:
0000
1234
1234
1234
1234
NULL
我已尝试使用以下语句,但有更好的方法吗?
UPDATE T SET C=CASE WHEN C IS NULL then null
when C='0000' then '0000' else '1234' END
最佳答案
您不需要使用 case
表达式,而是使用 where
子句:
UPDATE t
SET C = '1234'
WHERE C IS NOT NULL OR C <> '0000';
关于sql - 使用 case 语句更新语句 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53204414/