【发布时间】:2020-01-13 14:28:49
【问题描述】:
我在下面有更新查询。
update tableName
set columnName = null
where isnull(columnName, '') = ''
我想在 SQL Server 字符串生成器查询中添加单引号,以便可以对表中的每一列执行上述查询。请参阅此查询:
Declare @sql2 varchar(max) = ''
declare @tablename2 as varchar(255) = 'test2'
select @sql2 = @sql2 + 'update [' + @tablename2 + '] set [' + c.name +']' + ' = NULL ' +
' WHERE ISNULL([' + c.name + '], ' + '' + ') = ' + ''
from sys.columns c
inner join sys.tables t on c.object_id = t.object_id
where t.name = @tablename2
EXEC (@sql2)
go
以下是测试数据。
create table test2
(
test varchar(50)
)
insert into test2
values (' ewewwe'), ('sdsddsds '), ('')
执行 SQL 字符串生成器查询时出现此错误:
') = ' 附近的语法不正确
我做错了什么?
【问题讨论】:
-
这是如何插入单引号 SELECT '''' AS singleQuote
-
看看
QUOTENAME()函数
标签: sql sql-server escaping single-quotes