例如,我有一个表(Oracle)myTable
,其字段为myField
,CHAR
长度为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 '
问题:以上两个是我唯一的选择吗?我很乐意接受除上述之外的更多选择。哪个有更好的表现?感谢。