SQL Server按条款排序

时间:2018-09-04 16:06:26

标签: sql sql-server sql-order-by

我在SQL Server表中具有以下格式的数据。列的数据类型为nVarchar

(File # 1) abcde
(File # 3) abdddd
(File # 4) asdfas
(File # 7) ououoiu
(File # 6) ooiuoi
(File # 5) werwer
(File # 2) oiouoiu
(File # 10) xcvzx
(File # 11) cxzvz
(File # 20) zxcvzx and so on....

当我在上面提到的列上使用order by子句时,我得到的结果如下...

(File # 1) abcde
(File # 10) xcvzx
(File # 11) cxzvz
(File # 2) oiouoiu
(File # 20) zxcvzx
(File # 3) abdddd
(File # 4) asdfas
(File # 5) werwer
(File # 6) ooiuoi
(File # 7) ououoiu

如何修复......

1 个答案:

答案 0 :(得分:2)

如果始终使用相同的格式for (let i = 0; i < result.length; i++) { if(result[i]._source.details) { $("#returnedProducts").append($("<option/>", { "srindex": i, "data-details": JSON.stringify(result[i]._source.details[1]), "value": result[i]._source.category, "html": result[i]._source.category, } )); } } ,则有一个简单的解决方案:

(file # .....)

编辑:

这将提取第一组数字并将其强制转换为INT

order by charindex(')', col), col

如果SQL Server支持正则表达式:-)