将NULL值变成0 我的数据库表中,要把所有NULL值都变成0,这些NULL值分布在不同的行,不同的列的,而且行的数量和列的数量也是动态的,我怎么写呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 UPDATE TABLE SET COL1=ISNULL(COL1,0),COL2=ISNULL(COL2,0),COL3=..... 你如果要去改没办法定的字段和列的话就有点麻烦了不过用还是用update 表名 set 字段 = isnull(col,0) 如果COL的类型是VARCHAR的话就是ISNULL(COL1,'0') DECLARE @T TABLE(COL1 INT,COL2 VARCHAR(10))INSERT INTO @TSELECT NULL,NULLSELECT ISNULL(COL1,0),ISNULL(COL2,0),ISNULL(COL1,''),ISNULL(COL2,'') FROM @T确实是这样,但我记得以前遇到过用ISNULL报转换错误的问题,加上''保险吧 行的数量和列的数量也是动态的 不太清楚lz意思 如果列名不定的话要用动态sql了 基本语句如楼上各位 动态SQLSELECT * FROM sys.columns先找出同标的列为NULL的然后皮凑正确的SQL,思路很清晰,只是体力活了,LZ 自己搞定。另外基于字符处理皮凑SQL的方式,放飞适合SQL CLR,可以考虑 求教如何定义视图的字段类型 求一个sql表达式!!! 急!请教行转列的sql 根据坐标点查询它某个范围内的信息 表名不能作为参数传? SQL2000中的索引 存储过程查询bit型的问题 这种SQL语句该怎么写啊? 请问怎样把数据表结构打印出来呀?急 sql select 查询问题 sql2005操作xml没有modify命令? 增量备份在sqlserver中如何实现
不过用还是用update 表名 set 字段 = isnull(col,0)
DECLARE @T TABLE(
COL1 INT,
COL2 VARCHAR(10)
)
INSERT INTO @T
SELECT NULL,NULL
SELECT ISNULL(COL1,0),ISNULL(COL2,0),ISNULL(COL1,''),ISNULL(COL2,'') FROM @T确实是这样,但我记得以前遇到过用ISNULL报转换错误的问题,加上''保险吧
SELECT * FROM sys.columns
先找出同标的列为NULL的然后皮凑正确的SQL,思路很清晰,只是体力活了,LZ 自己搞定。
另外基于字符处理皮凑SQL的方式,放飞适合SQL CLR,可以考虑