You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL中计算文本类型区间列的中点值

MySQL文本类型数值区间的中点值计算方法

假设你的数据表名为your_table,存储区间的列名为range_col,可以通过以下SQL语句直接计算每个区间的中点值:

SELECT
  range_col,
  (CAST(SUBSTRING_INDEX(range_col, ' - ', 1) AS UNSIGNED) + CAST(SUBSTRING_INDEX(range_col, ' - ', -1) AS UNSIGNED)) / 2 AS mid_point
FROM your_table;

关键步骤说明:

  • 使用SUBSTRING_INDEX函数拆分区间字符串:
    • SUBSTRING_INDEX(range_col, ' - ', 1) 提取区间的左边界数值(例如从"20 - 24"中取出"20")
    • SUBSTRING_INDEX(range_col, ' - ', -1) 提取区间的右边界数值(例如从"20 - 24"中取出"24")
  • 通过CAST(... AS UNSIGNED)将提取到的文本转换为无符号整数,保证数值运算的有效性
  • 最终通过(左边界数值 + 右边界数值) / 2计算出区间的中点值

如果你的区间分隔符不是' - '(比如没有空格),只需要调整SUBSTRING_INDEX里的分隔符参数即可。

内容的提问来源于stack exchange,提问作者Nabs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 19:35:21