oracle数据库中字段定义类型为char(20),java程序存入库中的值长度为3,例如123

又有薄荷香 发布于 2015/06/01 11:27
阅读 914
收藏 0
oracle数据库中字段定义类型为char(20),java程序存入库中的值长度为3,例如123,当我在数据库中用sql以该‘123’为条件去查询时,可以查到记录。在java程序中如果是直接在sql中写明了该字段值为'123'可以查到该条记录,但是如果作为参数传入时,这条记录是无法查到的,请问这是为什么呢?
加载中
0
如比如比
如比如比
没你说的这种结果,你的代码或设置有问题。
如比如比
如比如比
回复 @铂金胖子 : 对滴,这种设计估计不是大系统了。
铂金胖子
铂金胖子
注意:加了trim() 用不到索引了
如比如比
如比如比
回复 @又有薄荷香 : 既然用了char说明对空格是敏感的,不然用varchar2不好么?你也可以这样作,cast( ? as char(20)),悲催的程序员总要为些垃圾的设计付出廉价的汗水,呵呵。
又有薄荷香
又有薄荷香
额,已经解决另外,是数据库固定长度的问题,数据库的数据类型是char(20),在sql中该字段外加了一个trim()就好了,谢谢你的回复。
0
yuncliu
yuncliu
呵呵,估计是参数类型设的不对
又有薄荷香
又有薄荷香
额,已经解决另外,数据库的数据类型是char(20),在sql中该字段外加了一个trim()就好了,谢谢你的回复。
返回顶部
顶部