declare @find as nvarchar(40);set @find = N'n';select companyname,(LEN(companyname+'*')) - LEN(replace(companyname,@find,'')+'*'))/LEN(@find) as cntfrom dbo.customers
它的逻辑是这样的,先把字符串中的所有@find都删除(也就是用''替换掉),然后检查得到的字符串比原来短多少,
这样就可以计算出@find在字符串中出现的次数.需要注意的是,在计算它们的长度时为每个字符串添加一个"*"以
避免当字符串包含尾随空格时得到错误的长度
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.youkuaiyun.com/jiangjunshow
本文介绍了一种使用SQL计算字符串中特定字符出现次数的方法。通过声明变量并利用REPLACE和LEN函数,可以精确计算目标字符串在源字符串中的频率。此方法适用于处理带有尾随空格的字符串,确保了计数的准确性。
289

被折叠的 条评论
为什么被折叠?



