我们有一个以html格式创建电子邮件正文的脚本,以便可以使用sp_send_dbmail
发送。
所以我有三个变量:@tableHTML1 varchar(8000)
,@tableHTML2 varchar(8000)
,@tableHtmlComplete varchar(max)
。
执行tsql脚本后,@tableHTML1
的len为4768,@tableHTML2
为4594.由于@body
的{{1}}参数只能接收一个变量,结束了sp_send_dbmail
。不幸的是,set @tableHtmlComplete = @tableHTML1 + @tableHTML2
的len是8000,因为这是varchar变量的最大大小。
那么在这种情况下我该怎么办?我需要通过电子邮件发送@ tableHTML1加@ tableHTML2的内容。
如果我上面尝试做的事情不可行,我只会考虑另一种解决方案。
感谢。
答案 0 :(得分:4)
在连接它们之前将它们转换为(*) for (char ch: first + last)
:
varchar(max)
结果:9362
答案 1 :(得分:0)
作为旁注:您可以通过将第一个值转换为varchar(max)来简化Lamak的解决方案,如下所示:
SET @tableHtmlComplete = CONVERT(VARCHAR(MAX),@tableHTML1) + @tableHTML2;