【发布时间】:2020-03-16 07:23:19
【问题描述】:
我们使用的是 SQL 2016
我们有一个流程,我们从一个系统导出数据数据并将其导入另一个系统。
我在使用 BEL 和 NAK ASCII 字符时遇到了一些问题,我希望将它们从字符串中删除。
初始文本存储在 ntext 列中。我必须将该列转换为 NVARCHAR 才能看到字符。我不想删除任何字母数字字符,只是愚蠢的 ACSII 字符。
我已经使用了这个页面上的函数,但它最终删除了所有空格并将数据变成了一个长字符串。 (https://www.sqlshack.com/replace-ascii-special-characters-sql-server/)。我猜是因为字符串长度可能非常大(超过 4000)
我做的另一件事是使用替换函数从字符串中去除十六进制 (x07, x0D)。它适用于其中一些,但不是全部。 这是一个包含两个字符的示例。
Quarters 1-4 Q1 - January 1- March 31 Q2 - April 1 - June 30 Q3 - July 1 - September 30 Q4 - October 1 - December 31
我该如何去掉这些?
【问题讨论】:
-
这不起作用,因为我需要字母数字,而且它最终也会删除空格。我只需要删除愚蠢的 ASCII 字符
标签: sql-server tsql