`
guazi
  • 浏览: 54527 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

jdbc查询oracle中的char字段的问题

阅读更多
最近写一个查询,因为要用到其他组件中的表,去做一个查询,不想去关联他的实体(这样可能造成依赖,在打包时出现问题),于是决定用jdbc来做查询,hibernate版本为3.0,查询了两个字段select p.url,p.state from PTM p where p.billId=?其中url为varchar,state为char(2),测试程序总是通不过,DEBUG时发现state的值只有1位,类型为Character,转为String之后,还是一位,很郁闷,在网上搜索了一下,发现有说char类型字段在作条件时查不到数据的问题,说这是OracleJDBC驱动的一个bug,要用trim一下,然后塞入条件,就可以查询到要用的数据。
引用
eg:如果上边要用state作条件的话,应该这么写:select * from PTM p where trim(p.state)='01'

于是把上边的查询改为select p.url,trim(p.state) from PTM p where p.billId=?测试一跑,通过了,很高兴。呵呵!写一下如果有人遇到可以看看。
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    解决mybatis使用char类型字段查询oracle数据库时结果返回null问题

    "解决mybatis使用char类型字段查询oracle数据库时结果返回null问题" 在使用mybatis框架对Oracle数据库进行查询操作时,如果使用char类型字段作为查询条件,可能会出现结果返回null的问题。这种情况下,需要对char...

    Oracle函数_JDBC常用写法

    在`oracle日期函数集锦.txt`中,我们可能会看到更多关于日期处理的函数,比如`EXTRACT`用于提取日期或时间字段,`NEXT_DAY`找到下一个特定星期的日期,`LAST_DAY`返回给定日期所在月份的最后一天。 接着,`JDBC常用...

    JDBC(oracle)java测试题.pdf

    1. SQL中的空值处理:在Oracle数据库中,`NULL`值与任何数据进行算术运算的结果都是`NULL`,因此,如果一个查询涉及到可能包含`NULL`值的列,如在计算工资加奖金时,没有明确处理`NULL`值,结果可能是不准确的。...

    Java jdbc 范例

    Java JDBC(Java Database Connectivity)是Java语言中用来规范应用程序如何访问数据库的应用程序接口,它提供了标准的方法来连接、查询和操作数据库系统。在本案例中,我们将通过Java JDBC连接Oracle数据库,实现对...

    JDBC 书籍 学习

    本篇文章将围绕 Oracle JDBC 驱动的内存管理进行深入探讨,旨在帮助读者理解 Oracle JDBC 在不同版本中的内存管理机制,并提供一些优化内存使用的实用技巧。 #### 二、Oracle JDBC 内存管理概述 ##### 2.1 早期版本...

    Oracle查询操作的学习笔记

    ### Oracle查询操作学习笔记知识点详解 #### 一、Oracle用户管理与权限分配 ...以上是关于Oracle查询操作的学习笔记中的核心知识点汇总,希望能够帮助初学者更好地理解和掌握Oracle数据库的基础知识。

    streamsets数据采集常见问题汇总1

    解决方法:使用JDBC Query Consumer组件,并在SQL查询中使用Oracle的TO_CHAR函数来转换数据类型,确保数据能正确导入。 4. **读取Oracle速度慢** 使用场景:从Oracle全量导入大量数据到Hive。 问题描述:导入...

    Java操作Oracle数据库(建表,插数据,删除)

    在 Java 中,使用 JDBC(Java Database Connectivity)API 来操作 Oracle 数据库。JDBC API 提供了与数据库交互的方法,包括创建连接、执行 SQL 语句、处理结果集等。 建表操作 在上面的代码中,我们使用了以下...

    各大数据库类型与JDBC中介数据类型的转换对比

    在进行数据库开发时,了解不同数据库管理系统(DBMS)的数据类型及其与Java Database Connectivity (JDBC)中的数据类型的对应关系至关重要。这有助于确保数据能够在Java应用程序与不同数据库之间正确、高效地传输。...

    jdbc操作文档,数据库基本操作文档集合

    11.模糊查询 like %:0个或多个任意字符 _:1个任意字符 select 字段名 from 表名 where 要判断的字段 like '%字符%'; 12.null的处理 select 字段名 from 表名 where 要判断的字段名 is null(is not null); 13....

    JDBC连接实现简单学生管理系统(附数据库).zip

    要使用JDBC,首先需要在程序中加载数据库驱动,然后建立数据库连接,创建Statement或PreparedStatement对象,编写SQL语句,最后执行查询并处理结果。 2. **数据库连接** 在这个系统中,可能使用了诸如MySQL、...

    Oracle数据库学习日记-实用性最强的Oracle学习总结.docx

    ### Oracle数据库学习知识点详解 #### 一、基本使用 ##### 1.1 常用命令 **1.1.1 Connect/Disconnect数据库连接命令** - **用途:** 连接或断开与Oracle数据库的连接...- **用途:** 直接通过JDBC驱动连接到Oracle...

    java存取oracle中的COLB类型数据.pdf

    Java 存取 Oracle 中的 CLOB 类型数据 Java 存取 Oracle 中的 CLOB 类型数据是...Java 存取 Oracle 中的 CLOB 类型数据需要注意许多细节,例如创建含 CLOB 字段的表、插入 CLOB 类型的数据、读取 CLOB 类型的数据等。

    oracle个人总结

    - Oracle中可以通过ROWNUM伪列实现分页,但这种方法有局限性,不能查询“>=”某个值的记录。 6. **数据复制与权限**: - 可以使用`CREATE TABLE AS SELECT`来复制表结构和内容。 - 权限管理使用`grant`关键字,...

    oracle数据库培训习题

    1. **个位数提取**:`UPDATE S_INFO SET S_ID = S_ID_NUMBER - TRUNC(S_ID_NUMBER, -1)`,这条语句将`S_INFO`表中所有记录的`S_ID_NUMBER`值的个位数提取出来,并存储到`S_ID`字段中。这里利用了`TRUNC`函数去除小数...

    ORACLE表自动按月分区步骤

    在Oracle数据库中,为了优化大型数据表的查询性能和管理效率,可以采用分区技术。分区是一种将大表逻辑上划分为较小、更易管理的部分的方法。对于时间序列数据,如交易记录、日志数据等,按月分区尤其常见,因为这...

Global site tag (gtag.js) - Google Analytics