oracle的char坑

来源:互联网 发布:matlab 未知数矩阵 编辑:程序博客网 时间:2024/05/20 13:06

char(10) 代表的含义是如果字段长度小于10的话,会自动补空格。

昨天遇到了这种情况,从一个表里边查询出了带空格的数据,和另一个表的字段值进行匹配的过程中(可想而知)

解决过程:

在网上漫天地查找截断空格的方法:substr(字段名,开始下标,控制截取的长度) 注意:控制截取的长度-开始下标就是长度

直接在数据库里边按backspace,气人的是每次提交之后都是还带有空格(真佩服char自动补全功能)


1)、开启debug运行到有问题的sql语句,然后右键查看字符串,然后粘贴到oracle查询框;

2)、很明显查询出来的数据中,带空格的字段比较长。

总结:

能用varchar(2)就用,发现sql语句有问题的话,粘贴到数据库的查询框,实验是检验真理的唯一标准。