问题描述
利用hql对数据库进行模糊查询 如下from StaticUser s where s.loginname like :loginname||'%' 在查询时 值是在所传的值后边加"%" 如何将所传值前后都加上"%" 例如 查询的字段为 “天津” 结果 名字为“天津市”或“天津...”的被查询出来 但“XXX天津”不会被查询 我该怎么改啊
解决方案
from StaticUser s where s.loginname like '%'||:loginname||'%'
解决方案二:
用子串查找匹配试试,我hql不熟,但相信有类似语法。即子串在原串中的位置为起始位置。用substr(s.loginname, :loginname) == 0试试
解决方案三:
String hql = "from StaticUser s where s.loginname like " + loginname+"%" ;like后面还有个空格
解决方案四:
%加在前面
解决方案五:
String hql = "from StaticUser s where s.loginname like" + loginname+"%" ;
时间: 2024-09-13 21:32:31