我有一个与SQL Server查询相关的问题。 我想在数据集中计算所有'//'。数据集包含代码。通过计算'//'我想将它声明为注释,如果每个行包含至少一次字符串'//'。
实际上我已计算数据集中'//'的数量,但我不知道应该如何继续。
select col1, col2, LEN(col3) - LEN(REPLACE(col3, '//', '' )) AS col3counter
from #tmp
答案 0 :(得分:0)
你将得到两倍的数量。所以除以2或:
select col1, col2,
( LEN(col3) - LEN(REPLACE(col3, '//', 'x' )) ) AS col3counter
from #tmp
答案 1 :(得分:0)
很抱歉双重发布,但我自己解决了这个问题:-)。代码是......
select col1, col2, col3, col4,
LEN(col3) - LEN(REPLACE(col3, '//', ' ' )) AS col3commentcount,
LEN(col3) - LEN(Replace(col3,(char(13)+char(10)),' '))+1 as col3rowcount,
LEN(col4) - LEN(REPLACE(col4, '//', ' ')) AS col4commentcount,
LEN(col4) - LEN(REPLACE(col4,(char(13)+char(10)),' '))+1 as col4rowcount
from #tmp
where LEN(col3) - LEN(REPLACE(col3, '//', ' ' )) =
LEN(col3) - LEN(Replace(col3,(char(13)+char(10)),' '))+1 OR
LEN(col4) - LEN(REPLACE(col4, '//', ' ')) =
LEN(col4) - LEN(REPLACE(col4,(char(13)+char(10)),' '))+1
and idcheck=0
order by col1