我想在使用 like 和过滤 HQL 中的关键字之前将表中的列更改为大写?
这是我的查询
SELECT abc
FROM ABC abc
WHERE abc.id = ?
And upper(abc.description) like '%?%'
谢谢
最佳答案
HQL 支持 upper()
由 SELECT
中的 EJB 3.0 规范定义的函数和 WHERE
条款。从文档:
14.10. Expressions
- ...
- Any function or operator defined by EJB-QL 3.0:
substring()
,trim()
,lower()
,upper()
,length()
,locate()
,abs()
,sqrt()
,bit_length()
,mod()
- ...
所以以下应该工作:
from DomesticCat cat where upper(cat.name) like 'FRI%'
引用
关于hibernate - 如何在 HQL Hibernate 中将列的大小写更改为 Upper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3940558/