mysql 计算字符串中指定子字符串出现的次数

目录

需求分析

方法


 

需求分析

有一个字段(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

执行结果截图:

mysql 计算字符串中指定子字符串出现的次数_第1张图片

你可能感兴趣的:(数据库)