在将旧数据表移动到新数据表之前,我在清理旧数据表中的数据。其中一个字段在右侧和左侧的列中有空格。我写了下面的代码来解决这个问题并且仍然有前导空格?使用此代码时,大部分数据是干净的,但由于某种原因,在 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/