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

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

【问题讨论】:

  • 请添加有关您要达到的目标以及到目前为止您尝试了什么的详细信息。您当前形式的问题不清楚,或者可以通过以下语句简单地回答:“在查询窗口打开时按 SSMS 中的 F5”

标签: sql sql-server tsql


【解决方案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 函数。
猜你喜欢
  • 1970-01-01
  • 2021-09-29
  • 2015-10-05
  • 1970-01-01
  • 1970-01-01
  • 2021-09-12
  • 2011-04-15
  • 2018-11-17
  • 2019-09-08
相关资源
最近更新 更多