2017-06-20 147 views
0

我的手机在我的阵列,存储过程数组参数

string phones="05763671278,05763271578,04763125578" 

我怎样才能数组中所产生的所有手机?(这种情况下,必须有返回3条记录)

SELECT * FROM Accounst where Phone in ('05763671278,05763271578,04763125578') 

但这款手机虽然返回null表

+0

使用splitter [从这个网站](http://www.sqlservercentral.com/articles/Tally+Table/72993/)和结果集的内部连接是一种方式,假设你的“数组”是一个逗号您输入的分隔参数。 – scsimon

回答

0

您缺少报价单。像这样做:

SELECT * FROM Accounst where Phone in ('05763671278','05763271578','04763125578') 

它返回NULL,因为它会查找phone number为:

'05763671278,05763271578,04763125578' 

,显然这不是一个电话号码。

+0

this give error Msg 102,Level 15,State 1,Line 3 ' – user1688401

+0

'附近的语法错误...重复的胜利答案。原版的。 – scsimon

+0

@Theesisia你可以看看这个:https://stackoverflow.com/questions/44682595/stored-procedure-with-array-parameters-csharp-to-mssql – user1688401

1

如果手机是一个字符串,你想要的(VARCHAR或字符):

Phone in ('05763671278','05763271578','04763125578')