order by CharIndex('|' + Convert(nvarchar,id) + '|', '|32|28|93|');
如上,是 SQL 的一部分,假如我们的 SQL 要取出 Id 为 32、28、93 这三条记录,并按这个顺序输出,就可使用上述代码。
原理
CharIndex 返回的是第 1 个参数在第 2 个参数中的位置。
|32| 在 |32|28|93| 中位于 1(SQL 中字符串第 1 个位置用 1 表示)。
|28| 在 |32|28|93| 中位于 4。
|93| 在 |32|28|93| 中位于 7。
C# 中类似应用,请参见:巧用 Array.IndexOf 为 List 自定义排序。