Oracle数据库中NARCHAR转换成NUMBER类型

简介:

1.修改后的代码:

复制代码
    public void addDirectorActorKeyword(long idStart, long idEnd) {
        SeriesMgr seriesMgr = new SeriesMgr();
        String strCondition = "";
        List<Comparable> paramlist = new ArrayList<Comparable>();
        List<Series> seriesList = new ArrayList<Series>();
        if(idStart != 0 && idEnd != 0){
            //以下两种sql方式都可以...Series表中parentmmobjectid为NVARCHAR2类型,不能使用直接使用between and
            //strCondition = "  to_number(parentmmobjectid) between ? and ? ";
            strCondition = "  parentmmobjectid between to_number(?) and to_number(?) ";
            paramlist.add(idStart);
            paramlist.add(idEnd);
            seriesList = seriesMgr.find(strCondition, paramlist,"parentmmobjectid asc");
        } 
        ********
    }
复制代码

直接执行sql语句是可以正常查询到内容的,上面代码对应Hibernate翻译成的sql语句是 select * from series where parentmmobjectid between '11111'  and '99999';可以正常的的查询到内容.

但是通过Hibernate进行查询,对应的如果是strCondition = "  parentmmobjectid between ? and ? "; 就查询不到...

原因就是在设置表字段的时候parentmmobjectid设置成了NVARCHAR类型,Oracle中的隐式自动转换没有NARCHAR类型到Number类型的转换,需要借助to_number()函数.

select * from emp where hiredate = '17-11月-81'; 这个就是一个字符串转换成了日期.

隐式转换的前提:被转换对象是可以转换的

select * from emp where deptno = 10 和 select * from emp where deptno = '10'是一样的.

显示转换:

 


本文转自SummerChill博客园博客,原文链接:http://www.cnblogs.com/DreamDrive/p/7390231.html,如需转载请自行联系原作者

相关文章
|
13天前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(一):装上去,飞起来!
【Oracle】玩转Oracle数据库(一):装上去,飞起来!
55 7
|
30天前
|
Oracle 关系型数据库 数据库
Oracle数据库基本概念理解(3)
Oracle数据库基本概念理解(3)
18 2
|
13天前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(七):RMAN恢复管理器
【Oracle】玩转Oracle数据库(七):RMAN恢复管理器
40 5
|
5天前
|
存储 Oracle 关系型数据库
Oracle的模式与模式对象:数据库的“城市规划师”
【4月更文挑战第19天】在Oracle数据库中,模式是用户对象的集合,相当于数据库的城市规划,包含表、视图、索引等模式对象。模式对象是数据存储结构,如表用于存储数据,视图提供不同查看角度,索引加速数据定位。良好的模式与模式对象设计关乎数据效率、安全和稳定性。规划时需考虑业务需求、性能、安全和可扩展性,以构建高效数据库环境,支持企业业务发展。
|
13天前
|
存储 SQL Oracle
【Oracle】玩转Oracle数据库(二):体系结构、存储结构与各类参数
【Oracle】玩转Oracle数据库(二):体系结构、存储结构与各类参数
35 7
|
Oracle 关系型数据库 数据库
oracle数据库控制文件的备份和恢复之三RMAN自动备份和恢复
使用RMAN自动备份的控制文件向数据库中恢复控制文件
310 0
|
Oracle 关系型数据库 数据库
|
SQL Oracle 关系型数据库
oracle数据库控制文件的备份和恢复之一手动备份和恢复
实验步骤:手动备份和恢复oracle控制文件
517 0

推荐镜像

更多