在LIKE条件中使用列值中的通配符

时间:2012-10-29 12:58:19

标签: jpa wildcard sql-like

我遇到需要找到与给定文件名匹配的实体的情况。文件名采用以下形式:

filename1 = "ABCD_126518.pdf";
filename2 = "XYZ_32162.pdf";

在Oracle DB中,我有像filename_patterns这样的实体,如下所示:

ID | filename_pattern
1  | ABCD_
2  | KLM
3  | XYZ_

我需要找到给定文件名匹配的模式ID。在给定的示例中,对于filename1,它应该是ID = 1,对于filename2,ID应该是ID = 3。如何在Java中查询命名查询?

我需要像

这样的东西
SELECT p FROM FilenamePattern p WHERE p.filename_pattern || "%" LIKE :param;

我们使用Oracle DB和JPA 1.0。

1 个答案:

答案 0 :(得分:0)

怎么样,

SELECT p FROM FilenamePattern p WHERE :param LIKE CONCAT(p.filename_pattern, "%")