空格去不掉,且无法查询的问题

waterplm 2008-04-08 10:38:02
从EXECL表导入sqlserver里,出现空格,数据类型nvarchar,在原数据里是没有空格的,用replace,ltrim,rtrim都无法去掉,要命的是无法查询,
如:数据为 ‘edr ',字段 name,表contact.用 select * from contact where name=‘edr '或select * from contact where name=‘edr'
都无法查询。用select * from contact where name like‘edr%'则可以。求去空格方法
...全文
88 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
waterplm 2008-04-08
好的,可以了
回复
wangxuelid 2008-04-08
不一定是空格,把字符从企业管理器里粘出来,然后
select ascii(' 这个空白字符')看看ascii码是多少.

得到之后,
update tb set x=replace(x,char(刚才得到ascii码),'')
回复
ojuju10 2008-04-08

是不是有回车或者换行

回复
全角空格
TAB
回车
换行

全给替换了就应该可以了
回复
Try:

select * from contact where replace(replace(replace(replace (name,'
','')
,' ','')
,' ','')
,char(9),'')='edr'

回复
青锋-SS 2008-04-08
全角的字符或者其它不可见字符
回复
fcuandy 2008-04-08
不一定是空格,把字符从企业管理器里粘出来,然后
select ascii(' 这个空白字符')看看ascii码是多少.

得到之后,
update tb set x=replace(x,char(刚才得到ascii码),'')
回复
wzy_love_sly 2008-04-08
或用ltrim()和rtrim()
回复
wzy_love_sly 2008-04-08
select * from contact 
where replace(name,' ','')=‘edr'


回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-04-08 10:38
社区公告
暂无公告