在一个专栏里我有这样的东西:
数量:
12
2x25
192
在这个例子中,如何乘法来正确排序呢。
我的出发点:
SELECT * FROM table
ORDER BY REPLACE(Amount,'x','*') ASC
短暂性脑缺血发作
frgtv10型
最佳答案
试试这个
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
DEMO HERE
步骤和说明:
用x值定位字段
从左到右sbstring并将其相乘。
然后将乘法转换为无符号。
订购asc
关于mysql - MySQL执行字符串作为数学运算,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16355972/