mybatis使用char类型字段查询oracle数据库时结果查询不到的问题

    小疯在使用mybatis时,遇到了一个问题就是,使用char类型字段做为查询条件时一直都查不出数据,其余类型的则能够。java

    使用的数据库是oracle,查询条件字段类型是char(50),java代码对应的是String类型。数据库

    后来通过排查,是因为在oracle中,char类型字段,若是内容长度不够,会自动以空格方式补足长度。如字段 name char(5),若值为sgl,那么oracle会自动用空格补足长度,最终值为sgl。mybatis

    1、解决方法:oracle

        方法1:先用trim()函数把值去掉两边空格再做为条件查询函数

        方法2:将字段类型char()改成varchar2()类型。通常状况下,只有全部值长度都同样时才用char()类型,好比性别字段,用0表示男和1表示女时,就能够用char(1),若是值的长度不固定,有长有短,最好别用char()类型。spa

小疯是由于工做上的缘由使用了方法一方法

相关文章
相关标签/搜索