繁体   English   中英

使用空白值更新SQL中的列

[英]Updating column in SQL with Blank Value

如果我需要将一栏中所有提到的"TOTA"全部替换为"TOTA" ,我将使用以下概念吗? 看起来很简单,但是对于上周学习SQL的人来说,我发现的所有教程的英文都不够普通。

Update Tablename 
set indcode =case when indcode in('TOTA', then 'blank' else 'leave it alone' End);

您应该设置为null以分配空白值

Update Tablename 
 set indcode = NULL
 where indcode ='TOTA';

并在哪里过滤行以进行更新

如果您需要一组用于过滤器的值,则可以使用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

您缺少等号和右括号,并且按照书面说明,您已经将其更新为空白字符串,而不是空字符串,最后,您需要确定是否要将其更新为空(零长度)。 )字符串或内置数据库值null,该值在所有关系数据库中表示该值未知或未指定(与显式为空或零长度字符串相反)。

要更新为空(零长度)字符串,请输入“

    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'  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM