我有一个名为panel no
的列panel no
--------
1
10
1A
2A
6
...
我想订购
panel no
--------
1
1A
2A
6
10
我尝试"按照演员顺序排列(面板号码没有签名)"它适用于mysql但不适用于SQL Server 2000。
我该怎么办?
答案 0 :(得分:0)
您可以根据需要调整How to get the numeric part from a string using T-SQL?的解决方案:
SELECT
*
FROM
TableA
WHERE
columnA = 'abc'
ORDER BY
CAST(LEFT([panel no], patindex('%[^0-9]%', [panel no] + '.') - 1) AS INT);
请注意,列名panel no
包含空格,因此必须根据T-SQL的规则引用它。
见demo 此解决方案与SQL Server 2000兼容。