SQL 替换不插入 CHAR(13)

问题描述

以下代码的目的是为了格式化目的用回车符替换符号:

DECLARE @first VARCHAR(MAX);
DECLARE @second VARCHAR(MAX);
DECLARE @cnt INT = 1;
DECLARE @total INT = (SELECT COUNT(*) FROM [dbo].[RSummary]);

WHILE @cnt <= @total
BEGIN
    DECLARE @value VARCHAR(200) = (SELECT CID FROM [dbo].RSummary] WHERE ID = @cnt)
    SET @first = (SELECT Summary FROM [dbo].[RSummary] WHERE CID = @value)
    SET @second = REPLACE(@first,'|',CHAR(13))
    UPDATE [dbo].[RSummary] SET Summary = @second WHERE CID = @value
    SET @cnt = @cnt + 1
END;

这适用于我的开发箱上的 sql Server 2019 Developer Edition。当尝试在实际 sql 实例 (sql Server 2017) 上运行时,使用完全相同的 sql 代码,它将符号替换为空格字符而不是回车符;我们已经在 NotePad++ 中确认了这一点。此外,“结果到文本”选项并不相关,但为了缓解这种担忧,它会被选中以显示 CR/LF。

我们已经检查了整理和表格设置;都是认值。想法?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)