ho provato questo:Come simulare NVL in HQL
from Table where (:par1 is null or col1 = :par1)
ma succede che
from Table where :par1 is null
restituisce sempre tutte le righe della tabella, anche se il: par1 non è nullo.
mentre
select * from table where col1 = 'asdf'
non restituisce qualsiasi riga.
non posso usare le grammatiche native perché la mia domanda è supposto per funzionare su diversi motori di database
Quello che volevo in realtà era: dalla tabella dove col1 = coalesce (: par1, col1) e ha funzionato! molte grazie! –
coalesce() è anche una funzione ANSI SQL e dovrebbe funzionare sulla maggior parte dei database, ad es. Oracle, in modo nativo. – slu
anche nell'entità jpa denominata query che non ha funzionato con nvl ma ha funzionato con coalesce – shareef