I want to change a column from a table to uppercase before using like and filtering what i开发者_运维问答s the keyword in HQL?
here's my query
SELECT abc
FROM ABC abc
WHERE abc.id = ?
And upper(abc.description) like '%?%'
Thanks
HQL supports the upper() function defined by the EJB 3.0 specification in the SELECT and WHERE clauses. From the documentation:
14.10. Expressions
- ...
- Any function or operator defined by EJB-QL 3.0:
substring(),trim(),lower(),upper(),length(),locate(),abs(),sqrt(),bit_length(),mod()- ...
So the following should work:
from DomesticCat cat where upper(cat.name) like 'FRI%'
References
- Hibernate Core Reference Guide
- 14.10. Expressions
- JPA 1.0 Specification
- Section 4.6.16.1 "String Functions"
I m writing a sample query in HQL:
session.createQuery(from Certificate where lower(assignedTo)=:userName)
.setString("userName",username);
Assumptions: a table named Certificate exists with field assignedTo.
session is the Hibernate Session.
加载中,请稍侯......
精彩评论