如何在OpenJPA for DB2中使用LIKE运算符作为Graphic字符串?
我在JPQL中使用以下内容并失败。
select u from User u where u.userName like :userName
userName = VARGRAPHIC(20)
然后我使用如下并失败
select u from User u where u.userName like CAST(:userName AS VARGRAPHIC(20))
然后我使用如下并失败
select u from User u where LOCATE(:userName,u.userName) > 0
我尝试从deferPrepare切换到true但仍然失败
与LOCATE
Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: DB2 SQL Error: SQLCODE=-440, SQLSTATE=42884, SQLERRMC=LOCATE;FUNCTION, DRIVER=3.63.75
与LIKE
DB2 SQL Error: SQLCODE=-440, SQLSTATE=42884, SQLERRMC=LIKE;FUNCTION, DRIVER=3.63.75
感谢任何帮助。
我用%%连接参数。问题似乎是LIKE不接受不平衡的操作数。两者都必须是图形字符串。所以我设置所以我设置
RequiresCastForComparisons =真
,然后查询结果包含一个转义(使用LIKE ESCAPE'\')。所以我设置了
RequiresSearchStringEscapeForLike=false
。
经过那些设定。 当我在搜索字符串花火大会时 与外卡参数,例如。 %花%返回空记录。
我明天将用生成的SQL更新问题。
提前致谢
答案 0 :(得分:0)
我不得不使用通配符作为双字节"%"而不是正常的"%" 希望这会对某人有所帮助。