tags:

views:

13

answers:

1

Hi

I want to change a column from a table to uppercase before using like and filtering what is the keyword in HQL?

here's my query

SELECT abc
FROM ABC abc
WHERE abc.id = ?
And upper(abc.description) like '%?%'

Thanks

A: 

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
  • JPA 1.0 Specification
    • Section 4.6.16.1 "String Functions"
Pascal Thivent
Thanks Both of you
Gauls