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
...
正如你可以看到,第一行是明显高于第二高的数字。为什么是这样?
这似乎这样的伎俩!而且很好的解释,没有把它当做正文:-) –