2017-06-20 148 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')