簡體   English   中英

SQL查詢:如何將varchar轉換為SQL Server 2000的有符號整數?

[英]SQL query: how to convert varchar to signed integer for SQL Server 2000?

我有一個叫做面板的專欄

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

我想訂購

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

我嘗試“按演員排序(面板沒有簽名)”,它適用於mysql,但不適用於SQL Server 2000。

我能做什么?

您可以調整如何使用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的規則對其進行引用。

看到這個演示
該解決方案與SQL Server 2000兼容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM