谢谢你的评论
我很容易出问题,我知道它会解决你的问题
我有一个14列的表,8个cols是数字(int,biging,数字(18,0))和其他cols数据类型是文本值,如char(10),varchar(255),Nvarchar(4000)此表由相同的随机值填充,并且在所有cols(ID除外)中都有很多空值 .
我想创建一个或多个存储过程,将数字列中的所有空单元格填充为0,将字符串列中的所有空值填充为“无值” .
如果这个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
通常问题不是修复,而是修复修复
3 回答
您可以在存储过程中使用循环,但最好的方法是检查所有列的空值,因为可能是任何列都有各种数据类型 .
我希望这会有所帮助 .
等等...
您可以如上所述进行更新,但如果您需要将默认字段设置为0,那么您应该在创建表时使用默认值
但如果它的遗留代码比插入过程你可以使用像
通常问题不是修复,而是修复修复