如何执行提取 ENTER [chr(13)+ char(10)] 的 sql 字符串中字符的 sql 查询?

Posted

技术标签:

【中文标题】如何执行提取 ENTER [chr(13)+ char(10)] 的 sql 字符串中字符的 sql 查询?【英文标题】:How do I execute a sql query that extracts the ENTER [chr(13)+ char(10)] of characters in the sql string? 【发布时间】:2019-11-15 06:25:44 【问题描述】:

如何执行一个 sql 查询,提取 sql 字符串中字符的 ENTER [chr(13)+ char(10)]?谢谢。

【问题讨论】:

请添加有关您要达到的目标以及到目前为止您尝试了什么的详细信息。您当前形式的问题不清楚,或者可以通过以下语句简单地回答:“在查询窗口打开时按 SSMS 中的 F5” UPDATE and REPLACE part of a string的可能重复 【参考方案1】:

我假设您想从 varchar 列中同时删除 chr(13) 和 chr(10)。 为此,您可以使用替换功能

declare @test varchar(100) = 'hello' + char(13) + 'world'
select @test, 
       len(@test),
       replace(@test, char(13), ''),
       len(replace(@test, char(13), ''))

结果是

COLUMN1 COLUMN2 COLUMN3     COLUMN4 
------- ------- -------     ------- 
hello
world   11      helloworld  10  

这两个值都是

select replace(replace(@test, char(13), ''), char(10), '')

编辑 或者更好(感谢@MichaelTobisch)

select REPLACE(@test, char(13) + char(10), '')

【讨论】:

我猜这个问题是针对 Visual Basic 中的 vbCrLf 的 ;-) - 因此 SELECT REPLACE(fieldname, char(13) + char(10), '') 应该可以工作并且只需要一次调用 REPLACE 函数。

以上是关于如何执行提取 ENTER [chr(13)+ char(10)] 的 sql 字符串中字符的 sql 查询?的主要内容,如果未能解决你的问题,请参考以下文章

plsql中特殊字符的处理

ch(),unichr(),ord()

Crystal报告如何删除带有“string”的行

在oracle里如何去掉数据后的回车换行符

SecureCRT vbs脚本

在oracle里如何去掉数据后的回车换行符