小编典典

将空varchar字段替换为整个数据库的空字符串

sql

我正在为客户端重建一个遗留程序…数据库设计得相对好,我唯一不关心的是所有空varchar值…((个人不关心将其提交给我的客户端代码) …)

我试图用空字符串替换所有空的varchar列…通常我会在导入脚本中执行此操作,但是我不需要修改架构,因此我不打算执行导入脚本…

想知道你们中任何一个精通SQL的家伙/女孩是否都知道foreach的一种方法(db中的varchar列)将null替换为’‘有点吗?

我知道一定有办法… PS MSSQL 2008r2 DB


阅读 224

收藏
2021-05-16

共1个答案

小编典典

为此,您可以构建动态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
2021-05-16