我有以下Oracle SQL查詢:JPA:相當於Oracle的REGEXP_SUBSTR
SELECT SUBSTR(col, 0, INSTR(col, REGEXP_SUBSTR(col, '\.\d+$')) -1) AS col_new, col as col_orig AS col_orig FROM tab;
我在表中的數據,如:
col
ABC.A.01
ABC.A.02
上面的查詢返回結果,如:
col_new col_orig
ABC.A ABC.A.01
ABC.A ABC.A.02
我試圖將其遷移到JPA命名查詢。到目前爲止我可以讓查詢只這樣的:
SELECT SUBSTRING(f.col, 0, LENGTH(f.col) - LOCATE('.', REVERSE(f.col))), f.col FROM tab f;
我這樣做是因爲我無法找到相當於在JPA Oracle的REGEXP_SUBSTR。我的JPA命名查詢在像ABC.A.P01這樣的數據示例中失敗。
您可以讓我知道如何將我的SQL查詢遷移到使用REGEXP_SUBSTR的等效項的JPA命名查詢。
它可能更容易(()'使用'的replaceAll)要做到這一點在Java中,你已經從JPA呼叫收到數據後。 – 2014-10-02 11:24:30