这个问题我搜了好多资料,终于发现了一个神奇的字符:char(39)表示引号。
问题描述:
我需要拼接一个@SQL字符串语句,用EXEC执行,设想拼接后执行的语句如下形式:
select * from openquery(MySqll_Aggregation,'SELECT * FROM qssf_main.a_companybasicinfo; ')
如果做成字符串形式,必须引号中加引号,就可以使用到char(39)。
declare @Dtime datetime
set @Dtime = '2020-03-05 14:16:36'
select 'INSERT OPENQUERY(MySqll_Aggregation,'+char(39)+'select * from qssf_main.mecsys_tp_alarmrecord'+char(39)+')'+'
(time) values ('''+CONVERT(varchar(20), @Dtime,120)+''');'
执行结果:
解决了引号加引号问题。
时间仓促整理,说的不清楚,见谅!