我的手机在我的阵列,存储过程数组参数
string phones="05763671278,05763271578,04763125578"
我怎样才能数组中所产生的所有手机?(这种情况下,必须有返回3条记录)
SELECT * FROM Accounst where Phone in ('05763671278,05763271578,04763125578')
但这款手机虽然返回null表
我的手机在我的阵列,存储过程数组参数
string phones="05763671278,05763271578,04763125578"
我怎样才能数组中所产生的所有手机?(这种情况下,必须有返回3条记录)
SELECT * FROM Accounst where Phone in ('05763671278,05763271578,04763125578')
但这款手机虽然返回null表
您缺少报价单。像这样做:
SELECT * FROM Accounst where Phone in ('05763671278','05763271578','04763125578')
它返回NULL
,因为它会查找phone number
为:
'05763671278,05763271578,04763125578'
,显然这不是一个电话号码。
this give error Msg 102,Level 15,State 1,Line 3 ' – user1688401
'附近的语法错误...重复的胜利答案。原版的。 – scsimon
@Theesisia你可以看看这个:https://stackoverflow.com/questions/44682595/stored-procedure-with-array-parameters-csharp-to-mssql – user1688401
如果手机是一个字符串,你想要的(VARCHAR或字符):
Phone in ('05763671278','05763271578','04763125578')
使用splitter [从这个网站](http://www.sqlservercentral.com/articles/Tally+Table/72993/)和结果集的内部连接是一种方式,假设你的“数组”是一个逗号您输入的分隔参数。 – scsimon