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

Oracle SQL中含小数值向上取整到下一个整数的实现方法

Oracle SQL 工作时长取数逻辑实现

实现方案

你描述的逻辑可以直接使用Oracle原生的CEIL函数实现,该函数的默认规则完全匹配需求:

  • 输入值为整数时直接返回原值
  • 输入值为非整数时,返回大于该值的最小整数(即向上取整到下一个整数)

具体查询语句

将你的实际表名替换下方的[你的数据表名]即可直接使用:

SELECT
  CEIL(working_hours / 15) AS target_result
FROM
  [你的数据表名];

逻辑验证

你可以通过Oracle内置的DUAL表测试不同场景的返回结果,确认逻辑符合预期:

-- 场景1:working_hours/15结果为整数,返回原值(示例:60/15=4.0)
SELECT CEIL(60/15) FROM DUAL; -- 返回结果:4

-- 场景2:working_hours/15结果大于4小于5,向上取整为5(示例:60.15/15=4.01)
SELECT CEIL(60.15/15) FROM DUAL; -- 返回结果:5

-- 场景3:working_hours/15结果接近整数仍向上取整(示例:74.9/15≈4.99)
SELECT CEIL(74.9/15) FROM DUAL; -- 返回结果:5

-- 场景4:working_hours/15结果为整数5,返回原值(示例:75/15=5.0)
SELECT CEIL(75/15) FROM DUAL; -- 返回结果:5

特殊情况说明

如果你的working_hours字段为字符串存储类型,需要先转换为数值类型再计算:

SELECT
  CEIL(TO_NUMBER(working_hours) / 15) AS target_result
FROM
  [你的数据表名];

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:15:08