请教一个简单却又很烦的和Java相关的数据库问题

03-11-19 licy
在数据库中如果采用char类型的数据,使用jdbc或者ejb数据持久化方式时,如果在前台输入信息,信息长度不够数据库中定义的长度,他们不会自动补空格,结果造成查询不到数据.有没有什么比较好的办法解决这个问题,难道要让我找出数据库结构自己去补空格:).

请各位说一下自己的经验.

banq
2003-11-20 09:12
你使用数据库的like查询?

一般尽量回避这种方式。

oldma
2003-11-20 11:08
select * from tbl_a where trim(col_a)= '?'

但这样会屏蔽掉col_a上的索引,如果要使用索引,建立一个函数索引

BTW:是oracle吧

sirily
2003-11-20 12:50
改变一下数据库的字段类型就可以了啊,因为如果要存入的是可变长度的数组,为什么不把数据库的字段类型设成nvchar?

licy
2003-11-20 18:58
不管是不是like语句啊

我用的是Oracle,有的字段要跟以前的系统保持一致,所以没有用varchar,可是Oracle的jdbc驱动程序居然不会根据数据类型补空格(存在Oracle中的数据不满长度有空格,输入的数据没空格)

猜你喜欢
2Go 1 2 下一页