oracle怎麼將逗號拼接的字符串傳給 in
时间: 2024-09-06 22:03:59 浏览: 43
在Oracle中,如果你想要将包含逗号分隔值(CSV)的字符串作为IN条件传递给`IN`关键字,你需要使用`XMLTABLE`函数或者动态SQL。这里有两个常见的方法:
1. **XMLTABLE** 方法:
```sql
SELECT * FROM your_table
WHERE column_name IN (
XMLTABLE(
'STRING_TO_JOIN',
'/value/text()[not(position() = last())]',
TYPE VARCHAR2(255) PATH '.'
)
);
```
这里`STRING_TO_JOIN`是你存储逗号分隔值的列,`column_name`是你查询的列。
2. **动态SQL** 方法 (假设你的字符串在变量@str):
```sql
DECLARE
str VARCHAR2(4000);
values_str VARCHAR2(4000);
BEGIN
str := 'STRING_TO_JOIN';
values_str := REPLACE(str, ',', ',','LISTagg');
EXECUTE IMMEDIATE '
SELECT * FROM your_table
WHERE column_name IN (' || values_str || ')
';
END;
```
`LISTagg`函数用于将逗号分隔成单个字符串,适合于动态创建查询。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![text/plain](https://img-home.csdnimg.cn/images/20250102104920.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)