例如,我有一个表(Oracle)myTable
,其字段长度myField
为 a 。CHAR
5
如果我尝试直接在 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 '
问题:以上两个是我唯一的选择吗?除了上述之外,我很乐意欢迎更多选择。哪个性能更好?谢谢。