美文网首页
Mybatis查询条件为char类型的Oracle表获取不到数据

Mybatis查询条件为char类型的Oracle表获取不到数据

作者: 说你还是说我 | 来源:发表于2019-01-25 16:21 被阅读0次

    偶然遇到一个问题,把mybatis查询的sql复制到plsql上去执行可以查询出数据,唯独在程序中查询不到数据。百思不得其解。
    没办法,需要解决问题。看了看表结构,发现对应的条件列居然是char类型的,长度为12。而查询的条件却只有4位长度。并且表中的数据最少长度4位,最大的6位。猜测可能是char类型自动补全长度。
    接下来就是验证这个猜测。直接通过length()函数计算那一列的长度,居然是12位,但是plsql查询出来的数据却只有4位或者6位。
    于是参考https://blog.csdn.net/gnail_oug/article/details/77163424这篇文章,发现没有解决。对应的oracle数据库版本如下:
    Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
    PL/SQL Release 11.2.0.4.0 - Production
    "CORE 11.2.0.4.0 Production"
    TNS for Linux: Version 11.2.0.4.0 - Production
    NLSRTL Version 11.2.0.4.0 - Production

    最后零时解决办法用空格补齐长度。后期再修改表结构

    相关文章

      网友评论

          本文标题:Mybatis查询条件为char类型的Oracle表获取不到数据

          本文链接:https://www.haomeiwen.com/subject/xdfvjqtx.html