定义个nvarchar 类型的变量
传入参数为 "‘[1]’,'[2]','[3]'"

解决方案 »

  1.   

    1、楼主可以看看精华帖的字符串的组合拆分
    2、2楼解决方法
    3、用charindex试试
      

  2.   

    CREATE PROCEDURE ras_AttLeaveRecordSelectUsersInSpanTime   
    UidList nvarchar(Max)= '*',
    AS
    SET NOCOUNT ON;
    declare @sql varchar(2000)
    set @sql='SELECT [NAME] FROM ([RIMS].[dbo].[ras_AttLeaveRecord] WHERE (UID in ('''+replace (@UidList,',',''',''') +''')' 
    exec (@sql)
    go
      

  3.   

    declare  @str  varchar(500),@aaa varchar(8000)set  @str='1,2,3'  set @aaa='select * from (select '''+REPLACE(@str,',',''' as str union all select ''')+''') a '
    exec(@aaa) /*
    str
    ------
    1
    2
    3
    */
      

  4.   

    CREATE PROCEDURE ras_AttLeaveRecordSelectUsersInSpanTime   
    @UidList nvarchar(4000)= '*',AS
    SET NOCOUNT ON;
    EXEC('SELECT [NAME] FROM ([RIMS].[dbo].[ras_AttLeaveRecord] WHERE (UID in ('+@UidList+' ) ')
    SET NOCOUNT OFF;