【问题标题】:SQL Remove Unicode charactersSQL 删除 Unicode 字符
【发布时间】:2018-02-20 17:04:16
【问题描述】:

输入:

“这是一个例子”。 “测试方法”

期望的输出:

这是一个例子。测试方法

我尝试使用替换方法来查找和替换这些字符,但仍然无法将它们删除。了解到 都是 Unicode 字符,并且不同于标准引号,即"

Select
REPLACE(REPLACE(some_text, '“',''),'”','') as DerivedText
from Table

【问题讨论】:

  • FWIW,Unicode 常量看起来像 N'“' 而不是 '“'

标签: sql sql-server tsql unicode


【解决方案1】:

两者都工作正常(虽然只有第二个对 unicode 是正确的):

--1
DECLARE @s VARCHAR(1000) = '“This is an example”. “Test Method”'

PRINT REPLACE(REPLACE(@s, '“', ''), '”', '')
GO
--2
DECLARE @s NVARCHAR(1000) = N'“This is an example”. “Test Method”'

PRINT REPLACE(REPLACE(@s, N'“', N''), N'”', N'')
GO

这是一个例子。测试方法

这是一个例子。测试方法

检查您的数据。

【讨论】:

  • 感谢工作。所以看起来诀窍是在替换之前将字符串转换为 varchar 或 nvarchar,一旦我这样做了,我就可以省略这些字符。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-08
  • 2015-04-23
  • 1970-01-01
  • 1970-01-01
  • 2016-08-29
  • 1970-01-01
  • 2016-08-30
相关资源
最近更新 更多