1、可以使用 Trim 函数,删除字符串“首、尾”的正常空格
update 表名 set 字段1=Trim(字段1), 字段2=Trim(字段2), 字段3=Trim(字段3)
案例:
update 表1 set Trim后=Trim(字段1)
2、如果Trim 达不到想要的效果,可以使用 replace(字段名, chr(9), “”),来删除字符串中的不可见空格
有时,从表格导入到 access 中的数据,可能会包含不可见空格。
肉眼看不出来差别,但是当你去重的时候会发现,看起来一模一样的两条记录,就是无法去掉,
出现这种情况,基本上就是因为某一个字符串中包含不可见字符。
更要命的是,在你把数据从 access 重新导出到表格中时,不可见字符又会自动被删掉,
只有直接从数据库复制到表中时,不可见字符才会被保留,所以常常很难找出问题的原因
案例:test 表为一个包含了不可见字符的数据源
现对 test表 执行去重语句
SELECT DISTINCT 产品名称 FROM test;
发现执行结果中,就出现了上面说的情况:看起来一样的字符串,却没有成功去重
出现这种情况时,可以通过下面语句解决
Update test set 产品名称= replace(产品名称, chr(9), "")
然后再去重,就能得到想要的结果了
SELECT DISTINCT 产品名称 FROM test;
3、对 replace(产品名称, chr(9), “”) 的详解:为什么这个函数可以成功去掉不可见空格
B2单元格中,是一个包含了不可见空格的字符串,只有当你复制粘贴到筛选中的时候,才能看到
现在通过 code 函数,来看看这个“不可见空格”到底是何方妖怪
从上图可以看到,code(B2) 的结果为 9,在 ASCii 码表中可以查到,它是一个水平制表符
所以,在 access 中,只需要把这个“水平制表符”替换掉就可以解决问题咯