SQL Server 利用 CharIndex 巧妙地实现自定义 Id 排序

作者:vkvi 来源:ITPOW(原创) 日期:2022-6-1
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 自定义排序

相关文章