【发布时间】:2019-12-30 06:02:51
【问题描述】:
我有一个表,其中有一列我存储一个逗号分隔的文本,每个逗号分隔的值都带有单引号。这些值是员工 ID。看起来是这样的
现在,我有一个 SQL 查询,我需要将此列中的值放入 SQL IN 运算符中。像这样的:
select *
from EMPLOYEE_MASTER
where EMPLOYEEID IN (select CM_CONFIG_VALUE
from ADL_CONFIG_MAST_T
where CM_CONFIG_KEY like 'ATT_BIOMETRIC_OU_ID'
)
但这不起作用,执行时的查询返回 0 行,而如果我像下面这样正常执行查询,它可以工作。
select *
from EMPLOYEE_MASTER
where EMPLOYEEID IN('9F3DD4B791554DDE','C9B90D62851D43AB','828CB9E6204B4DDC')
请建议我应该在这里做什么。我曾尝试使用子字符串删除第一个和最后一个字符,并假设单引号可能是问题,但这也不起作用。
【问题讨论】:
-
您使用的是什么
SQL Server版本? -
@YogeshSharma SQL Server 2014
-
您可以使用STRING_SPLIT函数docs.microsoft.com/en-us/sql/t-sql/functions/…。但我认为它是在 SQL Server 2015 中引入的。
-
我在其中存储了一个逗号分隔的文本,每个逗号分隔值都带有单引号。不。每行存储一项。
标签: sql sql-server sql-server-2014