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,如需转载请自行联系原作者

相关文章
|
11天前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
23 7
|
11天前
|
Oracle 关系型数据库 数据库
oracle数据库技巧
【10月更文挑战第25天】oracle数据库技巧
16 6
|
11天前
|
存储 Oracle 关系型数据库
Oracle数据库优化策略
【10月更文挑战第25天】Oracle数据库优化策略
16 5
|
18天前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
2天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
14 4
|
26天前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
58 3
Mysql(4)—数据库索引
|
11天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
51 2
|
14天前
|
存储 关系型数据库 MySQL
MySQL vs. PostgreSQL:选择适合你的开源数据库
在众多开源数据库中,MySQL和PostgreSQL无疑是最受欢迎的两个。它们都有着强大的功能、广泛的社区支持和丰富的生态系统。然而,它们在设计理念、性能特点、功能特性等方面存在着显著的差异。本文将从这三个方面对MySQL和PostgreSQL进行比较,以帮助您选择更适合您需求的开源数据库。
61 4
|
20天前
|
存储 关系型数据库 MySQL
如何在MySQL中创建数据库?
【10月更文挑战第16天】如何在MySQL中创建数据库?
|
24天前
|
SQL Oracle 关系型数据库
安装最新 MySQL 8.0 数据库(教学用)
安装最新 MySQL 8.0 数据库(教学用)
98 4

推荐镜像

更多
下一篇
无影云桌面