sql中把值为null置0
有几十个列,有几百行数据,有主键id,但其余的列都是null,怎么一次性把所有的null全部置0呢?可不可以用SQL语句实现??刚才照着那么做。。不知道为什么不行。。表-...
有几十个列,有几百行数据,有主键id,但其余的列都是null,怎么一次性把所有的null全部置0呢?
可不可以用SQL语句实现??
刚才照着那么做。。不知道为什么不行。。
表
- 不能修改表。
ODBC 错误: [Microsoft][ODBC SQL Server Driver][SQL Server]无法将 NULL 值插入列 'a11',表 'website.dbo.Tmp_table3';该列不允许空值。INSERT 失败。
[Microsoft][ODBC SQL Server Driver][SQL Server]语句已终止。
虽然我已经把a11改成了不能为null了,可还是这样。。 展开
可不可以用SQL语句实现??
刚才照着那么做。。不知道为什么不行。。
表
- 不能修改表。
ODBC 错误: [Microsoft][ODBC SQL Server Driver][SQL Server]无法将 NULL 值插入列 'a11',表 'website.dbo.Tmp_table3';该列不允许空值。INSERT 失败。
[Microsoft][ODBC SQL Server Driver][SQL Server]语句已终止。
虽然我已经把a11改成了不能为null了,可还是这样。。 展开
7个回答
展开全部
--建立一张测试的数据表
create table tb_s
([id] int not null,
n1 varchar(10) null,
n2 varchar(10) null,
n3 varchar(10) null,
n4 varchar(10) null,
n5 varchar(10) null,
n6 varchar(10) null,
n7 varchar(10) null,
)
declare @str varchar(5000),@value varchar(10),@sql varchar(1000)
set @str=''--存放表中的字段
set @value='=0'--更改的值
select @str=@str+name+@value+',' from syscolumns where id in(
select id from sysobjects where name='tb_s')
and name<>'id'--要排除不需要的字段,这里只排除了id,还可以增加
set @str=left(@str,len(@str)-1)
set @sql='update tb_s set '+@str+''--若要带where条件请自行添加
exec(@sql)
--print @sql
create table tb_s
([id] int not null,
n1 varchar(10) null,
n2 varchar(10) null,
n3 varchar(10) null,
n4 varchar(10) null,
n5 varchar(10) null,
n6 varchar(10) null,
n7 varchar(10) null,
)
declare @str varchar(5000),@value varchar(10),@sql varchar(1000)
set @str=''--存放表中的字段
set @value='=0'--更改的值
select @str=@str+name+@value+',' from syscolumns where id in(
select id from sysobjects where name='tb_s')
and name<>'id'--要排除不需要的字段,这里只排除了id,还可以增加
set @str=left(@str,len(@str)-1)
set @sql='update tb_s set '+@str+''--若要带where条件请自行添加
exec(@sql)
--print @sql
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
大雅新科技有限公司
2024-11-19 广告
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,...
点击进入详情页
本回答由大雅新科技有限公司提供
展开全部
update 表名
set 列名=0
where 列名 is null
你列很多就多执行几次吧(把列名改了)。
set 列名=0
where 列名 is null
你列很多就多执行几次吧(把列名改了)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
进入企业管理器,将所有的列的属性改为默认值为 0 即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先让该列允许为NULL,然后update 表 set 列=0
然后再将该列不允许空
然后再将该列不允许空
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
修改表的属性,将字段设为 不允许 NULL, 默认值设为 0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询