我有以下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