char(10) 代表的含义是如果字段长度小于10的话,会自动补空格。
昨天遇到了这种情况,从一个表里边查询出了带空格的数据,和另一个表的字段值进行匹配的过程中(可想而知)
解决过程:
在网上漫天地查找截断空格的方法: substr(字段名,开始下标,控制截取的长度) 注意:控制截取的长度-开始下标就是长度
直接在数据库里边按backspace,气人的是每次提交之后都是还带有空格(真佩服char自动补全功能)
1)、开启debug运行到有问题的sql语句,然后右键查看字符串,然后粘贴到oracle查询框;
2)、很明显查询出来的数据中,带空格的字段比较长。
总结:
能用varchar(2)就用,发现sql语句有问题的话,粘贴到数据库的查询框,实验是检验真理的唯一标准。