sql-server - SQL 2008 使用 LTrim(RTrim 并且数据中仍有空格

在将旧数据表移动到新数据表之前,我在清理旧数据表中的数据。其中一个字段在右侧和左侧的列中有空格。我写了下面的代码来解决这个问题并且仍然有前导空格?使用此代码时,大部分数据是干净的,但由于某种原因,在 RT 地址之前有空格......还有其他人遇到过这种类型的问题吗?

,CASE   
WHEN PropStreetAddr IS NOT NULL
 THEN  (CONVERT(VARCHAR(28),PropStreetAddr))  
WHEN PropStreetAddr is NOT NULL Then  (Select LTrim(RTrim(PropStreetAddr)) As PropStreetAddr)
     ELSE NULL END  as 'PROPERTY_STREET_ADDRESS'

样本输出数据:

1234 20th St 
  RT 1 BOX 2  
560 King St  
610 Nowland Rd  
  RT 1  
1085 YouAreHere Ln  
  RT 24 Box 12  

最佳答案

我遇到了同样的问题 - 将字符串包装在 CAST(x as varbinary(64)) 中显示了十六进制,从这里我看到了 A000 - 我认为这是不间断的空间。

要删除,试试这个(对于 UNICODE);

LTRIM(RTRIM(REPLACE(my-column, NCHAR(0x00A0), '')))

https://stackoverflow.com/questions/3374888/

相关文章:

java - 将 double 格式设置为分数

c# - C# "formatting"标准是什么?

java - 更改java控制台输出的颜色

javascript - 以欧洲格式格式化数字,带两位小数

c++ - 是否有一个自动源代码格式化程序可以很好地包装 C/C++ 行?

html - 在电子邮件正文中应用 HTML 格式

time - ColdFusion - 从分钟数创建时间

java - 在 python 中将 java System.currentTimeMillis()

java - 除法后获取数字中的所有小数位

html - Jetbrains PhpStorm HTML 缩进