Oracle选择CHAR数据类型

时间:2013-09-02 17:53:22

标签: sql oracle hibernate jpa

例如,我有一个表(Oracle)myTable,其字段为myFieldCHAR长度为5

如果我尝试直接在sql dev或其他工具中查询类似下面的内容

SELECT * FROM myTable WHERE myField = 'aa'

我得到了一些预期的结果(请注意,我将'aa'与一些db-padded值进行比较,例如'aa '(填充3个尾随空格以适合5)等。

问题: 例如,如果我尝试使用JPA Hibernate运行此类查询,我得不到相同的结果(甚至没有)除非我在{比较} TRIM字段之前比较

SELECT * FROM myTable WHERE TRIM(myField) = 'aa'

OR

我填充我的参数(但这需要我事先知道CHAR长度),如

 FROM myTable WHERE TRIM(myField) = 'aa   '

问题:以上两个是我唯一的选择吗?我很乐意接受除上述之外的更多选择。哪个有更好的表现?感谢。

0 个答案:

没有答案