现在有字段year_rate,其中数据为百分数形式和百分数区间形式,该怎么使用MySQL进行从小到大排序
时间: 2024-05-30 10:16:19 浏览: 81
mysql排序方法
可以使用MySQL的SUBSTRING_INDEX函数将百分数区间形式转换为数值形式,然后再进行排序。
例如,可以使用以下SQL语句将year_rate字段按照从小到大排序:
SELECT year_rate FROM table_name ORDER BY
CASE
WHEN year_rate LIKE '%-%' THEN SUBSTRING_INDEX(year_rate,'-',1)+0
ELSE year_rate+0
END ASC;
解释:如果year_rate字段为百分数区间形式,即包含“-”符号,那么就使用SUBSTRING_INDEX函数将其转为数值形式,然后进行排序;否则直接将year_rate字段转为数值形式,再进行排序。最终结果按照从小到大排序。
阅读全文