Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2012 如何在查询中使用replace语句_Sql Server 2012 - Fatal编程技术网

Sql server 2012 如何在查询中使用replace语句

Sql server 2012 如何在查询中使用replace语句,sql-server-2012,Sql Server 2012,我试图查询一个表,该表的值用逗号分隔,如下所示: SELECT ID, NAME,FULLNAME,STATUS,STORE FROM EMPLOYEE WHERE STORE IN (SELECT '''' + REPLACE('001,002',',',''',''') +'''') ORDER BY STORE 当我运行上面的查询时,它不会产生任何结果, 但当我这样运行它时: SELECT ID, NAME,FULLNAME,STATUS,STORE FROM EMPLOYEE

我试图查询一个表,该表的值用逗号分隔,如下所示:

SELECT ID, NAME,FULLNAME,STATUS,STORE 
FROM EMPLOYEE 
WHERE STORE IN (SELECT '''' + REPLACE('001,002',',',''',''') +'''')
ORDER BY STORE
当我运行上面的查询时,它不会产生任何结果, 但当我这样运行它时:

SELECT ID, NAME,FULLNAME,STATUS,STORE 
FROM EMPLOYEE 
WHERE STORE IN ('001','002')
ORDER BY STORE
我有大约500张唱片

当我尝试这个:

SELECT ('''' + REPLACE('001,002',',',''',''') +'''') 
我得到结果“001”,“002”

所以我的问题是,为什么第一个脚本不起作用,并且不产生任何结果

有什么我必须添加到脚本中才能工作的吗


请告知。

如果我遇到这种情况会怎样

SELECT ID, NAME,FULLNAME,STATUS,STORE 
FROM dbo.EMPLOYEE 
WHERE STORE IN (
    SELECT t2.ID
    FROM (
        SELECT Value = REPLACE('001,002', ',', '.')
    ) t
    CROSS APPLY (
        VALUES 
            (PARSENAME(t.Value, 1)),
            (PARSENAME(t.Value, 2))
    ) t2 (ID)
)
AND STATUS IN (
    SELECT t2.ID1
    FROM (
        SELECT Value1 = REPLACE('A,T,L', ',', '.')
    ) t1
    CROSS APPLY (
        VALUES 
            (PARSENAME(t1.Value1, 1)),
            (PARSENAME(t1.Value1, 2))
    ) t2 (ID1)
)

ORDER BY STORE

我试过了,但没有成功,所以我只是想知道它是否适用于超过一种情况。

让我们后退一步。为什么要尝试构建这样的存储值字符串?可能还有更好的方法。你的设计有问题,并且会继续给你带来问题。请停止将SQL Server视为JSON实用程序。如果要传递一组要检查的值,请使用表值参数。这个字符串解析毫无意义,嗯,毫无意义。可能是