SQL查询:如何将varchar转换为SQL Server 2000的有符号整数?

时间:2014-08-11 16:07:35

标签: sql sql-server-2000

我有一个名为panel no

的列
panel no
--------
1
10
1A
2A
6
...

我想订购

panel no
--------
1
1A
2A
6
10

我尝试"按照演员顺序排列(面板号码没有签名)"它适用于mysql但不适用于SQL Server 2000。

我该怎么办?

1 个答案:

答案 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兼容。