日期:2014-05-18  浏览次数:20734 次

SQL字段字符串处理
SQL表中有个字段,存的是'a/b/c/d',现在想取到'/'分隔的字符出现的次数,怎样才能取到呢?
比如:'a/b/c',就是3.'a/b/c/d',就是4。求解。

------解决方案--------------------
SQL code
select len(col)-len(replace(col,'/',''))+1

------解决方案--------------------
探讨
SQL code

select len('a/b/c')-len(replace('a/b/c','/',''))+1
,len('a/b/c/d')-len(replace('a/b/c/d','/',''))+1


/*

----------- -----------
3 4

(1 行受影……

------解决方案--------------------
SQL code

select (LEN('a/b')+1)/2 as [times]
times
2
select (LEN('a/b/c/d')+1)/2 as [times]
times
4

这个思路源自数学的等差数列,可以证明