我有一个使用IN子句的存储过程.在我的ASP.NET应用程序中,我有一个多行文本框,它为存储过程提供值.我希望能够按照在文本框中输入的值进行排序.我在MysqL中找到了如何轻松地做到这一点(使用FIELD函数),但不是sql Server等价物.
所以我的查询看起来像:
Select * from myTable where item in @item
所以我会从我的应用程序传递值,如’113113′,’112112′,’114114′(以任意顺序).我想按列表订购结果.
CASE声明是否可行?我不知道文本框数据中有多少项目.
解决方法
你如何参数化IN条款?
当你在sql Server 2008上时,我会传入一个带有两列item和sort_order的Table Valued Parameter,然后加入它.然后你可以在末尾添加一个ORDER BY sort_order.