SQLServer字段替换隐藏字符CHAR(0),踩坑后Get新技能
2017-08-30 01:17
351 查看
大半夜的不由的想说一句:世界上本没有坑,挖的人多了,于是就有了坑。但踩的坑多了,想问题的角度也就改变了,一切都很值。
坑王驾到背景:用Kettle导SQLServer中的十几张表到PostgreSQL,导某个表的时候发现有些字段肉眼看上去是空白的,但死活都导不进去,
用LEN()函数发现竟然有长度,职业性的加上LTRIM()和RTRIM(),匪夷所思的事情出现了,没有效果,长度和没加之前一样。我勒个去!
然后就各种试,问度娘,问Google,发现CHAR(0)表示空字元,是个控制字符,它的存在让本该正常显示的字符串隐藏不显示了,
厉害了Word哥,直接REPLACE()替换掉
SELECT
GuessColumn AS [隐藏字段],
LEN(GuessColumn) AS [隐藏字段长度],
LEFT(GuessColumn,1) AS [隐藏字段左边一位不可见],
RIGHT(GuessColumn,1) AS [隐藏字段右边一位可见],
REPLACE(GuessColumn,CHAR(0),'替换不可见字符') AS [替换不可见字符后]
FROM GuessTable where SID = 96995988
SQLServer字段替换隐藏字符CHAR(0),踩坑后Get新技能
坑王驾到背景:用Kettle导SQLServer中的十几张表到PostgreSQL,导某个表的时候发现有些字段肉眼看上去是空白的,但死活都导不进去,
用LEN()函数发现竟然有长度,职业性的加上LTRIM()和RTRIM(),匪夷所思的事情出现了,没有效果,长度和没加之前一样。我勒个去!
然后就各种试,问度娘,问Google,发现CHAR(0)表示空字元,是个控制字符,它的存在让本该正常显示的字符串隐藏不显示了,
厉害了Word哥,直接REPLACE()替换掉
SELECT
GuessColumn AS [隐藏字段],
LEN(GuessColumn) AS [隐藏字段长度],
LEFT(GuessColumn,1) AS [隐藏字段左边一位不可见],
RIGHT(GuessColumn,1) AS [隐藏字段右边一位可见],
REPLACE(GuessColumn,CHAR(0),'替换不可见字符') AS [替换不可见字符后]
FROM GuessTable where SID = 96995988
SQLServer字段替换隐藏字符CHAR(0),踩坑后Get新技能
相关文章推荐
- 隐藏在SQLServer 字段中的超诡异字符解决过程
- 隐藏在SQLServer 字段中的超诡异字符解决过程
- 隐藏在SQL Server 字段中的超诡异字符解决历程!
- hibernate查询数据库char类型字段时只返回一个字符
- hibernate查询数据表char类型字段只返回一个字符
- mysql 替换某个字段中的某个字符
- sql中替换字段的部分字符
- html显示数据库中的字段内容为sql语句时,出现隐藏了换行等字符的问题解决
- hibernate查询数据表char类型字段只返回一个字符
- sql中替换字段中的某个字符
- 将数据库种某个字段值种的某写字符替换掉
- 查询语句自动增加序列号、获取字段长度、返回字符在字段中的位置信息、从第几个位置替换字符串
- 【SQLite】使用replace替换字段中的字符
- 合并/替换主键字段的一段字符的SQL语句
- sqlserver-替换字段
- Salesforce 将String拆分成Char并且替换字符
- c++中字符输入函数cin.getline在输入char与string时的不同
- c++的字符串char与string相互转化,以及string的,切割,替换字符,字符串拼接方法(object向c++转型系列教程2)
- PHP只显示姓名首尾字符,隐藏中间字符并用*替换
- 替换一个字段的所有非数字字符为空的sql语句