1
我想按其值從最低到最高排序一列。但是,該列有一個前綴集,因此其內容可能如下所示:SR1001000
。我認爲,如果我想訂購這個,我需要刪除前綴。所以現在我的查詢看起來是這樣的:MySQL - 訂單子串數位從最低到最高
SELECT a2t_import.*,SUBSTRING(a2t_import.a2t_vare_nr, 3) as partial_vare_nr
FROM a2t_import
ORDER BY partial_vare_nr ASC`
不過我也只需要獲得其中列有一個特定的前綴,我獲得通過添加一個正則表達式,像這樣
SELECT a2t_import.*,SUBSTRING(a2t_import.a2t_vare_nr, 3) as partial_vare_nr
FROM a2t_import
WHERE a2t_vare_nr REGEXP '^(SR)+[0-9]+'
ORDER BY partial_vare_nr ASC
這行給我正確的輸出,上面的例子看起來像這樣1001000
,但排序不是我所期望的。
我得到以下輸出
10002000
1001000
...
正如你可以看到,第一行是明顯高於第二高的數字。爲什麼是這樣?
這似乎這樣的伎倆!而且很好的解釋,沒有把它當做正文:-) –