首页 > 解决方案 > 在 where 条件下用逗号分隔的字符串值拆分

问题描述

如何将逗号分隔的文本传递给 where 条件。我有一个如下的查询场景

select *
from employees
where employeeid in ('PER5AZ,SF4MDD,WQERR') -- This will not work

在这里,我需要employeeid按 PER5AZ、SF4MDD 和 WQERR 过滤,我从前端得到一个逗号分隔的字符串。

如何在 SQL Server 2016 中执行此操作?

标签: sql-server

解决方案


尝试使用 STRING_SPLIT 函数。

select *
from employees
where employeeid in (select value from STRING_SPLIT ('PER5AZ,SF4MDD,WQERR', ','))

注意:STRING_SPLIT 适用于 SQL server 2016 或更高版本


推荐阅读