感谢您对此进行审核
我很容易出问题,我知道它会解决你的问题
我有一个包含14列的表,8个cols是数字(int,biging,numeric(18,0))和 其他cols数据类型的文本值如char(10),varchar(255),Nvarchar(4000) 此表由相同的随机值填充,并且在所有cols(ID除外)中都有很多空值。
我想创建一个或多个存储过程,将数字列中的所有空单元格填充为0和 字符串列中的所有空值都为“无值”。
如果此SP将返回所有列中所有空值的计数,那就太惊人了
非常感谢
答案 0 :(得分:1)
Update Table1
set col1='0'
where co1 is null
等等......
答案 1 :(得分:1)
您可以按照上述说明进行更新,但如果您需要将默认字段设置为0,那么您应该在创建表格时使用默认值
CREATE TABLE dbo.Something
(
id INT IDENTITY(1, 1),
col1 INT DEFAULT 0
)
但是如果它的遗留代码比插入proc那样你可以像
一样使用CREATE PROCEDURE [dbo].[spa_CRUDSomething]
@flag CHAR(1)
, @col1 INT = 0
AS
通常问题不在于修复而是修复修复
答案 2 :(得分:1)
您可以在存储过程中使用循环,但最好的方法是检查所有列的空值,因为可能是任何列都有各种数据类型。
我希望这会有所帮助。