Essas são algumas funçoes que vc pode usar no hql
15.10. Expressões
As expressões permitidas na cláusula where incluem o seguinte:
operadores matemáticos: +, -, *, /
operadores de comparação binários: =, >=, <=, <>, !=, like
operadores lógicos and, or, not
Parênteses ( ) que indica o agrupamento
in, not in, between, is null, is not null, is empty, is not empty, member of and not member of
case “simples” , case … when … then … else … end, and “searched” case, case when … then … else … end
concatenação de string …||… ou concat(…,…)
current_date(), current_time() e current_timestamp()
second(…), minute(…), hour(…), day(…), month(…) e year(…)
qualquer função ou operador definidos pela EJB-QL 3.0: substring(), trim(), lower(), upper(), length(), locate(), abs(), sqrt(), bit_length(), mod()
coalesce() and nullif()
str() para converter valores numéricos ou temporais para uma string de leitura
cast(… as …), onde o segundo argumento é o nome do tipo hibernate, eextract(… from …) se ANSI cast() e extract() é suportado pelo banco de dados adjacente
A função HQL index() , que se aplicam às referências de coleçôes associadas e indexadas
As funções HQL que retornam expressões de coleções de valores: size(), minelement(), maxelement(), minindex(), maxindex(), junto com o elemento especial, elements() e funções de índices que podem ser quantificadas usando some, all, exists, any, in.
Qualquer função escalar suportada pelo banco de dados como sign(), trunc(), rtrim() e sin()
Parâmetros posicionais ao estilo JDBC ?
Parâmetros nomeados :name, :start_date e :x1
Literais SQL ‘foo’, 69, 6.66E+2, '1970-01-01 10:00:01.0’
Constantes Java final estático públicoex: Color.TABBY
mais informaçõe nesse
link
http://docs.jboss.org/hibernate/orm/3.5/reference/pt-BR/html/queryhql.html