Sono avere un piccolo problema per esporre:funzione di HQL per estrarre le righe con il campo contiene solo il numero
Voglio estrarre da un soggetto, supponiamo che il suo nome "CustomerDetail" tutte le righe in cui un campo specifico (codice) ha solo caratteri numerici.
In HQL non esiste la funzione ISNUMERIC() come il server Sql e la possibilità di applicare la funzione regex.
Una soluzione possibile è la seguente:
SELECT C
FROM CustomerDetail C
WHERE C.code NOT LIKE '%A%'
AND C.code NOT LIKE '%B%'
e così via ripetendo questa condizione lettera complessiva alfabetical e quelli speciali.
penso che questa è una soluzione povera, con un basso livello di prestazioni (numero enorme di SIMILI)
Ti prego, mi puoi consigliare una soluzione più intelligente?
Grazie in anticipo
P.S. La mia applicazione è multi DBMS quindi non posso usare la query SQL
Caro, HQL non ha isNumeric (come ho scritto nella mia domanda) –
HA PROVATO la mia soluzione (incluso '= 1')? Perché, come ho scritto nella mia risposta, funziona ... –
Prima di scrivere una domanda ... provo il mio codice. Questo è il capitolo 14 di HQL: http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html Mostra le funzioni consentite. –