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

SQL技术需求:按指定规则将分钟值取整转换为小数

SQL实现分钟值按规则取整为小数

根据需求,我们需要将1-60范围内的分钟值按以下规则转换为小数:

  • 1-15分钟 → 0.0
  • 16-45分钟 → 0.5
  • 46-60分钟 → 1.0

方法1:使用CASE WHEN语句(通用所有SQL方言)

这种方式逻辑清晰,易于理解和维护,适配所有支持CASE语法的数据库:

SELECT
  minute_value,
  CASE
    WHEN minute_value BETWEEN 1 AND 15 THEN 0.0
    WHEN minute_value BETWEEN 16 AND 45 THEN 0.5
    WHEN minute_value BETWEEN 46 AND 60 THEN 1.0
    ELSE NULL -- 处理不在1-60范围内的异常值,可根据需求调整返回值
  END AS rounded_decimal
FROM your_table;

方法2:使用数学计算式(简洁写法)

通过算术运算简化分支逻辑,适合追求代码简洁的场景:

SELECT
  minute_value,
  FLOOR((minute_value + 14) / 30) * 0.5 AS rounded_decimal
FROM your_table;

计算逻辑说明:

  • 当minute_value在1-15时,(minute_value +14)结果为15-29,除以30后小于1,FLOOR取整为0,乘以0.5得到0.0
  • 当minute_value在16-45时,(minute_value +14)结果为30-59,除以30后为1-1.966,FLOOR取整为1,乘以0.5得到0.5
  • 当minute_value在46-60时,(minute_value +14)结果为60-74,除以30后为2-2.466,FLOOR取整为2,乘以0.5得到1.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 02:33:16