我正在为客户端重建一个遗留程序…数据库设计得相对好,我唯一不关心的是所有空varchar值…((个人不关心将其提交给我的客户端代码) …)
我试图用空字符串替换所有空的varchar列…通常我会在导入脚本中执行此操作,但是我不需要修改架构,因此我不打算执行导入脚本…
想知道你们中任何一个精通SQL的家伙/女孩是否都知道foreach的一种方法(db中的varchar列)将null替换为’‘有点吗?
我知道一定有办法… PS MSSQL 2008r2 DB
为此,您可以构建动态SQL语句:
declare @sSQl nvarchar(max)='' SELECT @sSQl=@sSQl+'UPDATE ['+TABLE_NAME+ '] SET ['+COLUMN_NAME+']='''''+' WHERE ['+COLUMN_NAME+ '] IS NULL'+CHAR(13) FROM INFORMATION_SCHEMA.COLUMNS WHERE DATA_TYPE LIKE '%CHAR%' exec sp_executesql @ssql