1. 程式人生 > >Microsoft SQL Server 字串操作中,獲取字串某個指定的符號個數方法

Microsoft SQL Server 字串操作中,獲取字串某個指定的符號個數方法

最近做專案遇到一個需求,需要計算某字串中某字元出現的次數,限於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為要查詢的符號,最後一個為空字串

下面實現在字串中查詢';'的個數