首页 文章

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

提问于
浏览
0

谢谢你的评论

我很容易出问题,我知道它会解决你的问题

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

我想创建一个或多个存储过程,将数字列中的所有空单元格填充为0,将字符串列中的所有空值填充为“无值” .

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

非常感谢

3 回答

  • 1

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

    我希望这会有所帮助 .

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

    等等...

  • 1

    您可以如上所述进行更新,但如果您需要将默认字段设置为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
    

    通常问题不是修复,而是修复修复

相关问题