在专栏中,我有类似的内容:
量:
12
2x25
192
如何在此示例中将2x25相乘以正确排序ASC。
我的出发点:
SELECT * FROM table
ORDER BY REPLACE(Amount,'x','*') ASC
TIA frgtv10
答案 0 :(得分:4)
试试这个
SELECT
CAST(if(Amount LIKE '%x%', SUBSTRING_INDEX(Amount, 'x', 1) *
SUBSTRING_INDEX(Amount, 'x', -1) , Amount) as unsigned ) as amount
FROM table1
ORDER BY Amount ASC
步骤和解释:
找到x值
从左到右的sbstring并将其相乘。
然后将乘法转换为无符号。
订购asc
答案 1 :(得分:1)
只要这是唯一的公式(乘以2个数字),您就应该能够使用INSTR,SUBSTRING和CONVERT对其进行硬编码。