Oja*_*low 4 sql t-sql sql-server sql-server-2012
我需要创建一个脚本,它需要一些富文本(html文本)并将其转换为常规文本.我想要做的是<br>用换行符替换所有标签.我尝试用替换功能做到这一点:
set @rich_text_to_modify = replace(@rich_text_to_modify,'<br>', CHAR(13)+CHAR(10))
Run Code Online (Sandbox Code Playgroud)
该
标记获取删除,但换行不插入.知道我做错了什么吗?
Lar*_*rnu 13
问题是您在SSMS上的设置,而不是数据没有换行符.
转到:Tools -> Options -> Query Results -> SQL Server -> Results to Grid -> Retain CR/LF on copy or Save并确保选中该选项.
小智 5
您完全确定这行不通吗?我使用两种不同的结果表示方式在SSMS中进行了快速检查。
测试代码:
declare @rich_text_to_modify as nvarchar(200) = N'line1<BR>line2';
select @rich_text_to_modify
set @rich_text_to_modify = REPLACE ( @rich_text_to_modify , N'<BR>' , NCHAR(13)+NCHAR(10))
select @rich_text_to_modify
Run Code Online (Sandbox Code Playgroud)
使用“网格结果(Ctrl + D)”显示结果
使用“结果到文本(Ctrl + T)”显示结果
如您所见,您的方法运行良好。在Grid中,将结束符转换为空格。您用于验证的方法可能存在问题?
| 归档时间: |
|
| 查看次数: |
451 次 |
| 最近记录: |