小编Ian*_*n W的帖子

NVARCHAR(MAX) 字符串似乎有 6326 个字符,但不会全部打印出来

我正在编写一个存储过程来使用sp_send_dbmail系统存储过程来发送 HTML 电子邮件。我以前使用过这个程序,但以前没有遇到过这个问题。我正在使用此处列出的构建方法

从网上我认为NVARCHAR(MAX)应该最多容纳 2 147 483 647 个字符(ref

但是,当我构建我的输出时,如果我PRINT输出它不会返回完整的字符串。

我已经单独测试了我的 SQL,这按预期返回。

显然我有一个错误,但有人可以指出它是什么吗!

脚本是:

Declare @RawPart varchar(30);
Declare @PO varchar(30);
Declare @NL varchar(12)='<br/>';
DECLARE @BodyHTML  NVARCHAR(MAX) ;
Declare @SubjectText varchar(200);
Declare @StaffEmail varchar(50);
Declare @MrpDate varchar(12);


Set @MrpDate=(Select convert (varchar(12),[SnapshotDate],103) from [dbo].[MrpReqCtl] )

set @StaffEmail='SOMEPLACE@DOMAIN.co.uk';
set @SubjectText ='Schedule Update from MRP Email';
Set @PO='106277';
Set @RawPart=(Select Distinct  MStockCode From dbo.PorMasterDetail Where PurchaseOrder=@PO and LineType=1)


--N'<p>Attention From the Mrp run '+@MrpDate+N'</p><p>Has …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server stored-procedures database-mail

5
推荐指数
1
解决办法
7505
查看次数