通常情况下有些记录编码值,有父级关系,分类关系 通常会包含某些固定内容,那么在查询这类数据时,可以使用:
1. SUBSTRING_INDEX(字段名,‘分割符’, 第几个分割符(以1开始)) 函数
截取字符串的函数
2.固定开头 left(字段名,长度) 函数
是一个字符串函数,它返回具有指定长度的字符串的左边部分
3.固定结尾 right(字段名,长度) 函数
返回具有指定长度的字符串的右边部分(长度从右往左计算)
我的数据表
1.SUBSTRING_INDEX 函数
表中full_id 是部门层级id全路径,举例查询以1000000232/1000000241下的所有部门
select SUBSTRING_INDEX(full_id,'/',2) as full_id from dept
where full_id is not NULL group by SUBSTRING_INDEX(full_id,'/',2)
结果:
2.left 函数
表中name为部门名称,名称中共包含甲乙分类
select
LEFT(name,3) AS name
from dept
where name is not null GROUP BY LEFT(name,3)
结果:
3.right函数
表中name为部门名称,名称中包含A\B代号区分
select
RIGHT(name,1)AS name
from dept
where name is not null GROUP BY RIGHT(name,1)
结果: