2016-07-05 9 views
1

Ich versuche, eine hql Abfrage zu einem Wort aus Komma getrennt Wörter zu suchen.Wie schreibe ich eine hql Abfrage ein Wort von Komma getrennt Wörter zu suchen

Mein Eingang ist wie abc,xyz,par.

Erwartetes Ergebnis: Sollte der übereinstimmende Datensatz angezeigt werden, wenn eines der Wörter mit dem REGEX übereinstimmt.

Ich versuchte mit REGEXP_LIKE regulären Ausdruck (Bsp .: REGEXP_LIKE (Spaltenname, "Wert")) in Hql, aber es funktioniert nicht.

Bitte schlagen Sie mir eine hql Abfrage für gegebenes Szenario.

UPDATE: Mein Versuch ist:

SELECT emp.title 
FROM employee as emp 
WHERE 1=1 and (emp.title regexp_like (emp.title, :empTitle)) 

Vielen Dank im Voraus.

+0

schreiben Sie einen Code Ihrer try – morels

+0

SELECT emp.title FROM employee als emp WHERE 1 = 1 und (emp.title REGEXP_LIKE (emp.title,: empTitle)). Hier ist empTitle durch Komma getrennte Werte. Wenn es mit einem oder mehreren Werten übereinstimmt, sollte es die übereinstimmenden Datensätze anzeigen. –

+1

möglich duplizieren von http://stackoverflow.com/questions/5611715/where-value-in-column-containing-comma-delimited-values ​​ – udaybhaskar

Antwort

0

Ich glaube, Sie können mit nur LIKE wegkommen und komplexere Regex-Methoden zu vermeiden. Versuchen Sie es mit diesen WHERE Klausel:

WHERE columnname LIKE 'value,' OR 
     columnname LIKE ',value,' OR 
     columnname LIKE ',value' 
+0

Danke für den Vorschlag. Es kann mehrere Werte geben (Stichwortsuche) –