/*User_ID = '53-54-55'*/select [User_Name] from [user] where ID in(replace(select [User_ID] from [user] where ID=52,'"-"','","'))

解决方案 »

  1.   

    select [User_Name] from [user] where ID in(select replace([User_ID]) from [user] where ID=52,'"-"','","')
      

  2.   

    把user_ID查询出来的值,如果包含"_"就替换成","
      

  3.   

    select [User_Name] from [user] where ID in(select replace([User_ID],'-',',') from [user] where ID=52)
    服务器: 消息 245,级别 16,状态 1,行 1
    将 nvarchar 值 '53,54,55' 转换为数据类型为 int 的列时发生语法错误。为什么呢?
      

  4.   

    '53,54,55' 中有',',无法转换成int
      

  5.   

    不需要用Replace來做。用以下語句select [User_Name] from [user] where CharIndex('-'+Rtrim(ID)+'-','-'+(select [User_ID] from [user] where ID=52)+'-')>0ORselect [User_Name] from [user] where '-'+(select [User_ID] from [user] where ID=52)+'-' Like '%-'+Rtrim(ID)+'-%'