在SQL Server中,可以使用CHARINDEX函數(shù)來(lái)實(shí)現(xiàn)類(lèi)似于indexOf函數(shù)的功能。
CHARINDEX函數(shù)可以用于查找一個(gè)字符或子字符串在另一個(gè)字符串中的位置。它的語(yǔ)法如下:
CHARINDEX ( expressionToFind , expressionToSearch [, start_location ] )
其中,expressionToFind
是要查找的字符或子字符串,expressionToSearch
是要進(jìn)行查找的字符串,start_location
是可選參數(shù),表示開(kāi)始查找的位置。
下面是一個(gè)示例,演示如何使用CHARINDEX函數(shù)來(lái)獲取一個(gè)字符串在另一個(gè)字符串中的位置:
DECLARE @string1 VARCHAR(100) = 'Hello, World!'
DECLARE @string2 VARCHAR(100) = 'World'
SELECT CHARINDEX(@string2, @string1) AS IndexOf
輸出結(jié)果為:
8
這表示字符串@string2
在字符串@string1
中的位置是8。如果字符串@string2
在字符串@string1
中不存在,CHARINDEX函數(shù)會(huì)返回0。
請(qǐng)注意,CHARINDEX函數(shù)是區(qū)分大小寫(xiě)的。如果要進(jìn)行不區(qū)分大小寫(xiě)的查找,可以使用LOWER函數(shù)將兩個(gè)字符串轉(zhuǎn)換為小寫(xiě),然后再進(jìn)行查找。例如:
DECLARE @string1 VARCHAR(100) = 'Hello, World!'
DECLARE @string2 VARCHAR(100) = 'world'
SELECT CHARINDEX(LOWER(@string2), LOWER(@string1)) AS IndexOf