在SQL中,`CHARINDEX`函数用于查找一个字符串中指定字符或者子字符串的位置。它的语法如下:
```
CHARINDEX(search_string, string, start_position)
```
其中,`search_string`是要查找的字符或者子字符串,`string`是要在其中进行查找的字符串,`start_position`是开始查找的位置(可选,默认为1)。
`CHARINDEX`函数返回第一次出现指定字符或者子字符串的位置。如果没有找到指定字符或者子字符串,函数将返回0。
以下是一些使用`CHARINDEX`函数的示例:
1. 查找字符在字符串中的位置:
```
SELECT CHARINDEX('o', 'Hello World') AS position;
```
结果是6,表示字符'o'在字符串'Hello World'中的位置是第6个字符。
2. 查找子字符串在字符串中的位置:
```
SELECT CHARINDEX('lo', 'Hello World') AS position;
```
结果是4,表示子字符串'lo'在字符串'Hello World'中的位置是从第4个字符开始。
3. 指定开始位置查找字符或者子字符串:
```
SELECT CHARINDEX('o', 'Hello World', 7) AS position;
```
结果是8,表示字符'o'在字符串'Hello World'中从第7个字符开始的位置是第8个字符。
需要注意的是,`CHARINDEX`函数对于大小写是敏感的。如果要进行大小写不敏感的查找,可以使用`LOWER`或`UPPER`函数进行大小写转换后再进行查找。