oracle 查询问题,???????

问题描述

oracle 查询问题,???????

现在有一张表A,表中ID字段类型为char(32),现在有一条记录,ID内容为“1111”,现在对该条记录查询,代码如下:
PreparedStatment statment = conn.prepareStatement("SELECT * FROM A WHERE ID='1111'");
这样可以查找到该条记录。
但是,如果使用下面方式:
PreparedStatment statment = conn.prepareStatement("SELECT * FROM A WHERE ID=?");
statment.setString(1,'1111 ');
在传递参数时,需要空格填充字段达到32位,才能查询到记录。
现在,想知道,为什么直接在sql语句中传值,不要用空格填充剩余位数,而使用传递参数,却需要填充空格?

解决方案

oracle关于模糊查询的问题
Oracle查询中很奇葩的问题
一个oracle从子节点向父节点查询的问题

解决方案二:

statment.setString(1,'1111 ');

这一句 "1111"右边多了一个空格,并且应该用双引号,如下:

statment.setString(1,"1111");

解决方案三:

不用空格就不可以吗?

解决方案四:

修改一下字段属性使用VARCHAR2(10)不会自动填充空格

时间: 2024-10-22 20:41:49

oracle 查询问题,???????的相关文章

SQL Server访问Oracle查询性能问题解决

1. 问题 系统有个模块,需要查询Oracle数据库中的数据.目前是通过建立链接服务器实现的. SQLServer访问Oracle实现 可参考这篇文章http://www.cnblogs.com/gnielee/archive/2010/09/07/access-oracle-from-sqlserver.html 目前的查询语句就是一个简单的带where条件的查询语句,类似如下: SELECT*FROM LINKED_NAME..ACCOUNT_NAME.TABLE_NAME WHERE CO

Oracle查询所有序列的语句

--查看当前用户的所有序列 select SEQUENCE_OWNER,SEQUENCE_NAME from dba_sequences where sequence_owner='用户名'; --查询当前用户的序列总数 select count(*) from dba_sequences where sequence_owner='用户名'; --示例: select SEQUENCE_OWNER,SEQUENCE_NAME from dba_sequences where sequence_

解析Oracle查询和删除JOB的SQL

本篇文章是对Oracle查询和删除JOB的SQL的实现方法进行了详细的分析介绍,需要的朋友参考下   查询及删除重复记录的SQL语句1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from people where peopleId in (select   peopleId from   people group by   peopleId having count(peopleId) > 1) 2.删除表中多余的重复记录,重复记录是根据单个字段(

oracle查询速度会因具体的条件变慢

问题描述 oracle查询速度会因具体的条件变慢 select语句的结构完全一样,只是把其中一条where条件由='TCP14'改为='TCP17', 查询速度就由原来的瞬间变成3秒.我查看了TCP14下数据量和TCP17下数据量是差不多的. 请问原因和解决办法 解决方案 这个原因很多,cbo优化器根据代价来计算取最优的方式,你的这个问题可以把执行计划贴上来看看,原因的话很多可能,举个简单的,假如你的表存在10个数据块上,t14的数据存在前2个块上,而t17的数据分别存在第一个块,中间一个块,最

45 个非常有用的 Oracle 查询语句

​   这里我们介绍的是 40+ 个非常有用的 Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询.这些是所有 Oracle 开发者都必备的技能,所以快快收藏吧! 日期/时间 相关查询 获取当前月份的第一天 运行这个命令能快速返回当前月份的第一天.你可以用任何的日期值替换 "SYSDATE"来指定查询的日期. 1 SELECT TRUNC (SYSDATE, 'MONTH') "First day of current mo

oracle查询语句老是报ORA-00907缺失右括号

问题描述 oracle查询语句老是报ORA-00907缺失右括号 --大家好,我有一条oracle查询语句老是报ORA-00907缺失右括号的错误,能不能帮我看一下,谢谢: --统计毕业班等级考试最佳成绩 select distinct e.xy 学院, e.xzb 班级, e.xh 学号, e.xm 姓名, a.cet3 英语三级, b.cet4 英语四级, c.cet6 英语六级, d.computer 计算机 from ((select xh, xm, djksmc, max(cj) ce

Oracle查询SQL语句,请教各位大神

问题描述 Oracle查询SQL语句,请教各位大神 有这样一些数据: name subject张三 语文 李四 数学 张三 数学 李四 英语 张三 历史 想得到的结果: name subject张三 语文,数学,历史 李四 数学,英语 请教SQL语句,各路大神帮忙思考下. 解决方案 SELECT name , wmsys.wm_concat (subject) as result FROM 表名 GROUP BY name 解决方案二: 这个主要用SQL语句将subject里的数据拼接成一个字符

数据-排名,rownum,Oracle查询

问题描述 排名,rownum,Oracle查询 知道表t_img_code中数据总数totalCount,然后计算1%~99%所对应的排名数(rank(n)=n%*totalCount),查找排名所对应的costTime(表中另一个字段costTime),select * from (select rownum rnt.costTime from (select t.costTime from tt_img_code t order by costTime) t) where rn in (-)

sql server-数据库sqlserver2008连接Oracle查询时优化

问题描述 数据库sqlserver2008连接Oracle查询时优化 select PACKET_NAME from POS..KRT_ERP_CRM.HL_PUB_BARCODE where BARCODE='L544IWI02002O41'; 此查询就要20秒,还只是测试数据,该怎么优化sqlserver.注:Oracle的表HL_PUB_BARCODE 已建立索引,且在Oracle中查询很快,就是拿到sqlserver中跨库查询很慢 解决方案 建立视图到本地库,然后再查询

oracle查询效率问题,分时间段查询数据效率低

问题描述 oracle查询效率问题,分时间段查询数据效率低 小弟菜鸟一枚,今遇到一问题请教高手,问题如下: 用户有一需求,要求查询某个时间段内(如2014-05-01 -- 2014-05-31),每十二小时的生产数据,8:00--20:00, 20:00--8:00, 所以小弟先建了个临时表,将每个时间段都分出来,时间段如下: 2014-5-1 7:01:00 --2014-5-1 8:00:00 2014-5-1 8:00:00 --2014-5-1 20:00:00 ....... 然后再