TSQL中对应的函数应该是charindex(),
参考 http://technet.microsoft.com/zh-cn/library/ms186323(v=sql.105).aspx

解决方案 »

  1.   

    charindex的参数是两个字符串,但是我这边的参数是一个列名,一个字符串啊
      

  2.   

    这样写试试..sql=string.Format("select * from student where name in {0}","'"+nameList.Replace(",","','")+"'");
      

  3.   

    charindex的用法常见的就是一个列和一个字符进行判断啊,不过太特殊的字符串就不好判断了,还不如用前端的正则表达式charindex的参数是两个字符串,但是我这边的参数是一个列名,一个字符串啊
      

  4.   

    这个: grade in {0}是不是得加一个括号呀: grade in ({0})
      

  5.   

    写个返回TABLE的FUNCTION去处理,如楼主所描述,传入带逗号的字符串,再用CHARINDEX和SUBSTRING的方式,将每一个NAME循环截取出来存放到table中返回。
      

  6.   

    我觉得 in其实就是or的一种简化  如果输入的参数不是很多  建议可以换成or拼接字符串 估计效果差不多