MySql函数 FIND_IN_SET 在Hibernate HQL语句中的使用
2016-10-18 18:44
357 查看
FIND_IN_SET(str,strlist)
假如字符串str 在由N 子链组成的字符串列表strlist 中, 则返回值的范围在 1 到 N 之间 。一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则 FIND_IN_SET() 函数被优化,使用比特计算。如果str不在strlist 或strlist 为空字符串,则返回值为 0。如任意一个参数为NULL,则返回值为 NULL。
在jdbc的SQL中可以不用写比较符,比如:
select * from t_user where find_in_set('zs',username) ;
当然也可以这样用:
select * from t_user where find_in_set('zs',username)>0
而在hibernate的HQL语句中,必须这样用:
from User u where find_in_set('zs',u.username)>0 ;
即‘>0’必须带上,否则会报错。
假如字符串str 在由N 子链组成的字符串列表strlist 中, 则返回值的范围在 1 到 N 之间 。一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则 FIND_IN_SET() 函数被优化,使用比特计算。如果str不在strlist 或strlist 为空字符串,则返回值为 0。如任意一个参数为NULL,则返回值为 NULL。
在jdbc的SQL中可以不用写比较符,比如:
select * from t_user where find_in_set('zs',username) ;
当然也可以这样用:
select * from t_user where find_in_set('zs',username)>0
而在hibernate的HQL语句中,必须这样用:
from User u where find_in_set('zs',u.username)>0 ;
即‘>0’必须带上,否则会报错。
相关文章推荐
- Hibernate hql语句 find_in_set 用法
- TP 查询语句中如何使用 FIND_IN_SET 这样的查询方法
- Hibernate框架使用Hql语句的in关键字
- SQL语句:find_in_set的使用方法
- hibernate hql语句in的使用和占位符
- MySQL函数-- FIND_IN_SET的使用
- SQL语句中find_in_set、like、in的区别及使用方法
- Hibernate的Hql语句使用in关键字
- Mysql中的find_in_set的使用方法
- Hibernate 拾遗 (批量处理 和 HQL 使用 in elements 判断从属 )
- hibernate里使用hql语句处理多表查询
- 关于hibernate HQL不能使用insert语句
- [Hibernate框架]Hql语句in中带参数的写法
- Hibernate查询时,使用HQL和SQL的区别(SUM语句)
- Hibernate 使用HQL的 in 时要注意判断in的值(list)是否包含数据
- Mysql中使用FIND_IN_SET解决IN条件为字符串时只有第一个数据可用的问题
- hibernate使用hql和sql查询总记录数语句
- Hibernate HQL语句使用总结
- Hibernate中使用HQL语句删除数据
- MySQL之IN与FIND_IN_SET的使用