mysql中比较实用的几个函数
1个回答
展开全部
可以使用如下函数:
语法:FIND_IN_SET(str,strlist)。
定义:
1. 假如字符串str在由N子链组成的字符串列表strlist中,则返回值的范围在1到N之间。
2. 一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。
3. 如果第一个参数是一个常数字符串,而第二个是typeSET列,则FIND_IN_SET()函数被优化,使用比特计算。
4. 如果str不在strlist或strlist为空字符串,则返回值为0。
5. 如任意一个参数为NULL,则返回值为NULL。这个函数在第一个参数包含一个逗号(‘,’)时将无法正常运行。
strlist:一个由英文逗号“,”链接的字符串,例如:"a,b,c,d",该字符串形式上类似于SET类型的值被逗号给链接起来。
示例:SELECT FIND_IN_SET(‘b‘,‘a,b,c,d‘);//返回值为2,即第2个值
2.曾有这样的需求:
需要将查询出来的id,按指定的分隔符拼接。我们一般都是查询出list后,在service层中拼接,其实在查询过程中就可以直接拼接,
可使用如下函数:
语法结构:
GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDERBY{unsigned_integer | col_name | expr} [ASC|DESC] [,col_name ...]] [SEPARATOR str_val])
DISTINCT:去除重复值
expr [,expr ...]:一个或多个字段(或表达式)
ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]:根据字段或表达式进行排序,可多个
SEPARATOR str_val:分隔符(默认为英文逗号)
如下实例:
mysql中比较实用的几个函数
标签:过程wordsel语法iceunsigned返回order组成
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询