sp_send_dbmail & 短信中的换行符

sp_send_dbmail & line breaks in a text message

我正在尝试给自己发送短信,但我无法在短信中实现换行。我可以使用 HTML 在电子邮件中毫无问题地执行此操作,但它对 SMS 消息的作用不同。

 DECLARE @TXT_LIST VARCHAR(255);
 DECLARE @TXT_BODY NVARCHAR(MAX);

 SET @TXT_LIST = 'myphonenumber@msg.fi.google.com';

SET @TXT_BODY = 'This should be line 1.';

 -- SET @TXT_BODY += '\n';
 -- SET @TXT_BODY += '\r\n';
 -- SET @TXT_BODY += '<br />';
 -- SET @TXT_BODY += '%0a';

 SET @TXT_BODY += 'This should be line 2.';

 EXEC msdb.dbo.sp_send_dbmail @profile_name='myProfile', @recipients=@TXT_LIST, @body_format='HTML', @subject='Test Subject', @body=@TXT_BODY;

我已经尝试了您在上面看到的所有被注释掉的方法,并且所有这些方法都在我的 phone 上显示为纯文本,并且显示在一行而不是两行。

最终目标是 运行 查询 returns X 行,并将结果集中的每一行放在文本消息的新行上。

我偶然发现了解决方案:

DECLARE @TXT_LIST NVARCHAR(255);
DECLARE @TXT_BODY NVARCHAR(MAX);
DECLARE @CRLF CHAR(2) = CHAR(13)+CHAR(10);

SET @TXT_LIST = 'myphonemumber@msg.fi.google.com';

SET @TXT_BODY = 'This should be line 1.';

SET @TXT_BODY += @CRLF;

SET @TXT_BODY += 'This should be line 2.';

EXEC msdb.dbo.sp_send_dbmail @profile_name='myProfile', @recipients=@TXT_LIST, @body_format='HTML', @subject='Test Subject', @body=@TXT_BODY;