SQL Server中提供了一個charindex()方法用於查找一個字符/字符串在另一個字符/字符串中的位置。
語法
charindex(expressionToFind, expressionToSearch[, start_location])
參數
expressionToFind:目標字符串,就是想要找到的字符/字符串,最大長度為8000 。
expressionToSearch:用於被查找的字符/字符串。
start_location:開始查找的位置,為空時默認從第一位開始查找。為零或為負數,都按一開始計算查找位置。
返回值
返回值是被查找的字符/字符串在目標字符/字符串中出現的位置,從1開始計算查找位置(非下標,是實際的位置)。如果沒找到匹配的字符/字符串位置,返回0。
簡單示例
select charindex('a', 'yanggb', 1); -- 2
經典應用
select case when charindex('yanggb1', 'yanggb1,yanggb2,yanggb3') <> 0 then 1 else 0 end has_permission; -- 1
常用的場景是判斷某個字符串中是否包含另一個字符串。
"太久沒見的人,會慢慢的,連想念也沒有。"