sql-server – TSQL 2008使用LTrim(RTrim并且数据中仍有空格
发布时间:2020-12-12 06:41:57 所属栏目:MsSql教程 来源:网络整理
导读:我将数据清理到旧数据表中,然后再将其移动到新数据表中.其中一个字段在列中有空格,右边和右边.剩下.我写了下面的代码来解决这个问题,但仍然有领先的空间?使用此代码时,大部分数据都是干净的,但由于某些原因,RT地址之前有空格……还有其他人有这种类型的问题
我将数据清理到旧数据表中,然后再将其移动到新数据表中.其中一个字段在列中有空格,右边和右边.剩下.我写了下面的代码来解决这个问题,但仍然有领先的空间?使用此代码时,大部分数据都是干净的,但由于某些原因,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 解决方法这是可行的表达方式.我假设没有不可见的内容.如果你怀疑它,你仍然应该追求@OMG小马推荐.我认为如果必须处理不可见的内容,可以将PATINDEX表达式添加到此表达式中.SQL Server CASE只处理一个WHEN子句然后中断.所以你永远不会进行第二次数据转换.此外,使用LTRIM和RTRIM函数时,所有NULL值都将转换为NULL.因此,您不需要对其进行测试,除非您想对NULL执行某些操作. 所以,试试这个: CONVERT(VARCHAR(28),LTRIM(RTRIM(PropStreetAddr))) as [PROPERTY_STREET_ADDRESS] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |