0

例如,我有一个表(Oracle)myTable,其字段长度myField为 a 。CHAR5

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

SELECT * FROM myTable WHERE myField = 'aa'

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

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

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

或者

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

 FROM myTable WHERE TRIM(myField) = 'aa   '

问题:以上两个是我唯一的选择吗?除了上述之外,我很乐意欢迎更多选择。哪个性能更好?谢谢。

4

0 回答 0