如果我需要在列中替换set timeout -1
中的所有提及,我会使用以下概念吗?这看起来很简单,但我找到的所有教程对于上周学习SQL的人来说都不够英语。
"TOTA"
答案 0 :(得分:1)
您应该设置为null以指定空白值
Update Tablename
set indcode = NULL
where indcode ='TOTA';
并使用where来过滤要更新的行
如果您需要一组过滤值,可以使用IN子句,例如
Update Tablename
set indcode = NULL
where indcode in ('TOTA', '0', '000000');
或者对于复杂的情况,你可以在......时使用案例。
Update Tablename
set indcode = case when 'TOTA' then NULL
when '0' then '000000'
else indcode
END
答案 1 :(得分:1)
你错过了一个等号和一个右括号,并且如你所写,你将它更新为字符串空白,而不是空字符串,最后,你需要决定是否要将它更新为空(零长度)字符串,或称为null的内置数据库值,它在所有关系数据库中表示该值未知或未指定(与显式为空或零长度字符串相反。)< / p>
要更新为空(零长度)字符串,请写入'
Update Tablename
set indcode = case when indcode = 'TOTA' then ''
else indcode end;
但你真的不需要更新那些单独的,所以只需添加一个过滤器(一个Where子句)与该谓词表达式
Update Tablename
set indcode = ''
Where indcode = 'TOTA'
如果你真的想要将它更新为Null而不是空字符串,那么首先检查并确保将indCode列设置为允许空值,然后写:
Update Tablename
set indcode = Null
Where indcode = 'TOTA'