如何使用存储过程填充表中的所有空值



感谢您对此的评论

我很容易解决,我知道它会由你解决

我有一个有 14 列的表格,其中 8 列是数字(int、biging、numeric(18,0))和其他 cols 数据类型为文本值,例如 char(10)、varchar(255)、Nvarchar(4000) 这个表由相同的随机值填充,并且在所有列(ID 除外)中都有很多空值。

我想制作一个或多个存储过程,将数字列中的所有空单元格填充为 0 和字符串列中的所有 null 都为"无值"。

如果这个SP将返回所有列中所有空值的计数,那就太神奇了

非常感谢

您可以使用存储中的循环过程,但最好的方法是检查所有列的空值,因为任何列可能具有各种数据类型。

我希望这是有帮助的.

Update Table1
set col1='0'
where co1 is null

等等...

您可以如上所述进行更新,但是如果您需要将默认字段设置为 0,那么您应该在创建表时使用默认值

CREATE TABLE dbo.Something
(
    id               INT IDENTITY(1, 1),
    col1        INT DEFAULT 0
)

但是,如果它的遗留代码比在插入过程中使用,你可以像

CREATE PROCEDURE [dbo].[spa_CRUDSomething]
    @flag CHAR(1)
   ,  @col1 INT = 0
AS 

通常问题不在于进行修复,而在于修复修复

最新更新