最近做项目遇到一个需求,需要计算某字符串中某字符出现的次数,限于SQL server没有对应直接用的函数,所以就自定义一个方法了。
方法利用到两个函数
第一个函数:
LEN函数
返回给定字符串表达式的字符(而不是字节)个数,其中不包含尾随空格。
语法
LEN ( string_expression )
返回类型是INT
REPLACE
用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。
语法
REPLACE ( 'string_expression1' , 'string_expression2' , 'string_expression3' )
参数
'string_expression1'
待搜索的字符串表达式。string_expression1 可以是字符数据或二进制数据。
'string_expression2'
待查找的字符串表达式。string_expression2 可以是字符数据或二进制数据。
'string_expression3'
替换用的字符串表达式。string_expression3 可以是字符数据或二进制数据。
返回类型
如果 string_expression(1、2 或 3)是支持的字符数据类型之一,则返回字符数据。如果 string_expression(1、2 或 3)是支持的 binary 数据类型之一,则返回二进制数据。
利用这两个函数可以实现预先遇到的功能
函数表达为:LEN(string)-LEN(REPLACE(string,'mark',''))
string 为要查找符号个数的源字符串,mark为要查找的符号,最后一个为空字符串
下面实现在字符串中查询';'的个数