目录
需求分析
有一个字段(parentIds)是这样的“0,1,36,86,”,是树结构中所有父亲节点的id列表,用逗号隔开的,现在要计算当前节点深度deep。经过分析只要算出parentIds中出现逗号“,”的次数即可,然而mysql没有相应的函数直接获取到,只能通过其他办法。
方法
公式:次数=该字段的长度-没有逗号的长度
需要用到的mysql函数:LENGTH 和 REPLACE,即:LENGTH( parentIds ) - LENGTH( REPLACE ( parentIds, ',', '' ) )
最后的sql:
SELECT NAME
,
parentIds,
LENGTH( parentIds ) - LENGTH( REPLACE ( parentIds, ',', '' ) ) deep
FROM
area
执行结果截图: