【问题标题】:Replacing Null to Blank in multiple rows在多行中将 Null 替换为空白
【发布时间】:2017-02-06 09:14:02
【问题描述】:

我在一个表中有多个空值,包括不同的行和列,我如何将它们替换为一个查询,例如使用“全部”或 *,无论整个表中的空值是什么?

【问题讨论】:

标签: sql-server null


【解决方案1】:

检查列值是否为空,如果是,则使用如下代码中的空白值更新

Update TableName
SET TableName.Column=''
WHERE TableName.Column IS NULL

对于多列

UPDATE TableName
SET col1 = COALESCE(col1,''),
   col2 = COALESCE(col2,''),
   col3 = ...
   Coln = COALESCE(coln,'')

【讨论】:

  • 感谢您的回复,我尝试了您的建议,但它显示错误“关键字'列'附近的语法不正确。我的表名是 GRN_M,所以我将查询写为 update grn_m set grn_m.Column=' ' 其中 grn_m.Column 为空
  • @RahatAli 实际上 grn_m.Column 是您想用空白替换 Null 值的列名。请在此处指定列名。
  • 我明白了,因为Null值的列太多了,我只想一口气做完,不想SET给每个列名,在Where后面也提到名字。那么有没有什么方法可以一口气搞定,比如 All 或者 * ?
  • @RahatAli 我已经为多列更新更新了上面的代码。请尝试一下
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-03
  • 2021-12-21
  • 2012-10-14
  • 1970-01-01
相关资源
最近更新 更多