
# find_in_set
find_in_set函数用于查找字符串str1在以逗号（,）分隔的字符串str2中的位置，从1开始计数。
#### 命令格式
```
find_in_set(string <str1>, string <str2>)
```
#### 参数说明
表1参数说明 
| 参数   | 是否必选 | 参数类型   | 说明            |
|:---|:---|:---|:---|
| str1 | 是    | STRING | 待查找的字符串。      |
| str2 | 是    | STRING | 以逗号（,）分隔的字符串。 |
   
#### 返回值说明
返回BIGINT类型的值。
![](https://support.huaweicloud.com/sqlref-spark-dli/public_sys-resources/note_3.0-zh-cn.png)
- 当str2中无法匹配到str1或str1中包含逗号（,）时，返回0。
- 当str1或str2值为NULL时，返回NULL。
 
#### 示例代码
- 查找字符串ab在字符串abc,123,ab,c中的位置。命令示例如下。 返回3。
  ```
  select find_in_set('ab', 'abc,123,ab,c');
  ```
  
- 查找字符串hi在字符串abc,123,ab,c中的位置。命令示例如下。 返回0。
  ```
  select find_in_set('hi', 'abc,123,ab,c');
  ```
  
- 任一输入参数为NULL。命令示例如下。 返回NULL。
  ```
  select find_in_set(null, 'abc,123,ab,c');
  ```
  
 
