我有2个nvarchar列,我需要按顺序排序(第1列示例:TW001_1,第2列示例:测试文档_2)
如何以与使用整数相同的方式订购2个NVARCHAR列(按column1,column2 asc排序)?
答案 0 :(得分:0)
您可以将文本分成文本部分和数字部分,然后应用所需的排序。例如:
SELECT column1, LEFT(column1, 2) as textSort, CAST(SUBSTRING(column1, 3, 8) as int) as numberSort1, CAST(RIGHT(column1, 1) as int) as numberSort2
FROM table1
ORDER BY textSort, numberSort1, numberSort2;
这是基于假设而且column1的格式如下AA99999999_9(即2个字母,后跟8位数字,然后是下划线和单个数字)。