更新数据库字段number,一到十的数据。并且排除掉number为3和4的。只更新1 2 5 6 7 8 9 10这种sql应该怎么写
update table set number=xxx where number not in('3','4')
可以使用下面的SQL语句:
UPDATE table_name SET number = CASE
WHEN number = 1 THEN 1
WHEN number = 2 THEN 2
WHEN number = 5 THEN 5
WHEN number = 6 THEN 6
WHEN number = 7 THEN 7
WHEN number = 8 THEN 8
WHEN number = 9 THEN 9
WHEN number = 10 THEN 10
ELSE number
END
WHERE number NOT IN (3,4);
可以使用SQL语句中的IN运算符和NOT运算符来完成该需求,具体的SQL语句如下:
UPDATE 表名
SET number = 新的值
WHERE number IN (1, 2, 5, 6, 7, 8, 9, 10) AND number NOT IN (3, 4)
其中,将表名替换为要更新的表的名称,将新的值替换为要更新的值。IN运算符表示匹配括号中任意一个数值,NOT运算符表示排除括号中的数值。
上述SQL语句的意思是:将表中number字段值为1、2、5、6、7、8、9、10的数据更新为新的值,但是不更新number字段值为3和4的数据。