当前位置: 首页 > news >正文

TDengine 数学函数 CEIL 用户手册

在这里插入图片描述

CEIL

CEIL(expr)

功能说明

返回指定字段的向上取整(最小不小于该值的整数)。

返回结果类型

与输入字段的原始数据类型一致(整数类型返回整数,浮点类型返回浮点)。

适用数据类型

数值类型(TINYINT、SMALLINT、INT、BIGINT、FLOAT、DOUBLE 及其无符号类型)。

嵌套子查询支持

适用于内层查询和外层查询。

适用于

表和超级表。

使用说明

  • expr 为 NULL,返回 NULL。
  • 只能与普通列、选择(Selection)、投影(Projection)函数一起使用,不能与聚合(Aggregation)函数一起使用。
  • 不支持字符串、布尔、时间戳等非数值类型。
  • 支持嵌套使用,如 CEIL(CEIL(c1))
  • 不支持与聚合函数(如 COUNT、AVG)混用。
  • 对于整数类型,结果等于原值;对于浮点类型,结果为向上取整后的浮点数。

错误处理

  • 参数个数错误、类型错误、无效表名等会报错。
  • 对不支持的数据类型(如 timestamp、bool、binary、nchar)会报错。

示例

基础示例
taos> SELECT CEIL(1.1);ceil(1.1) |
=============2 |taos> SELECT CEIL(-1.1);ceil(-1.1) |
=============-1 |taos> SELECT CEIL(5);ceil(5) |
==========5 |taos> SELECT CEIL(NULL);ceil(null) |
=============NULL   |
表字段示例

假设有如下表结构:

CREATE TABLE t1 (ts TIMESTAMP,c1 INT,c2 BIGINT,c3 SMALLINT,c4 TINYINT,c5 FLOAT,c6 DOUBLE
);

插入部分数据:

INSERT INTO t1 VALUES ('2020-10-21 01:01:01.000', 1, 11111, 111, 11, 1.11, 11.11);
INSERT INTO t1 VALUES ('2021-05-07 01:01:10.000', 4, 44444, 444, 44, -0.444, 44.44);
INSERT INTO t1 VALUES ('2022-12-01 01:01:30.000', 8, -88888, -888, -88, -8.88, -88.88);

查询:

taos> SELECT c1, c5, CEIL(c1), CEIL(c5) FROM t1;c1 |   c5   | ceil(c1) | ceil(c5) |
=====================================1 |  1.11  |    1     |    2     |4 | -0.444 |    4     |    0     |8 | -8.88  |    8     |   -8     |
嵌套与表达式
taos> SELECT CEIL(CEIL(1.1));ceil(ceil(1.1)) |
==================2 |taos> SELECT CEIL(c5 + 0.5) FROM t1;ceil(c5 + 0.5) |
=================2 |1 |-8 |
边界值测试

支持大整数和极值:

taos> SELECT CEIL(2147483647), CEIL(-2147483648);ceil(2147483647) | ceil(-2147483648) |
========================================2147483647 |      -2147483648  |
错误示例
taos> SELECT CEIL(ts) FROM t1;
-- 报错:不支持 timestamp 类型taos> SELECT CEIL(c7) FROM t1;
-- 报错:不支持 bool 类型taos> SELECT CEIL(c8) FROM t1;
-- 报错:不支持 binary 类型taos> SELECT CEIL(c9) FROM t1;
-- 报错:不支持 nchar 类型taos> SELECT CEIL(c1, c2) FROM t1;
-- 报错:参数个数错误
空表与 NULL
taos> SELECT CEIL(c1) FROM empty_table;
-- 返回空结果集taos> SELECT CEIL(NULL);
-- 返回 NULL
与其他函数组合
taos> SELECT c1, CEIL(c1), c5, FLOOR(c5) FROM t1;c1 | ceil(c1) | c5   | floor(c5) |
====================================1 |    1     | 1.11 |     1     |4 |    4     | -0.444 |   -1    |

实际生产中的意义

  1. 数据标准化与分组
    在智能电表、物联网等场景,CEIL 可用于将连续型数据(如电流、电压、温度等)标准化为离散区间。例如,将电流按 1A 为单位分组统计,便于分析各区间的设备数量或异常分布。

  2. 账单与计费场景
    电力、用水、用气等行业常用 CEIL 进行计费。例如,实际用量不足一个计费单位时,向上取整保证最小计费单位,避免因小数点导致的漏算或计费不准确。

  3. 容量规划与资源分配
    在云计算、存储、网络等场景,CEIL 用于资源分配。例如,用户申请 2.3GB 存储,系统实际分配 3GB,保证资源充足且不浪费。

  4. 统计分析与报表
    在数据分析报表中,CEIL 可用于将统计结果向上取整,便于展示和理解。例如,统计平均值、最大值等时,向上取整避免小数点带来的误差。

  5. 异常检测与阈值判断
    在设备监控、异常检测场景,CEIL 可用于将测量值与阈值对齐,便于快速判断是否超标或触发告警。

  6. 时间窗口与周期分析
    在时序数据分析中,CEIL 可用于将时间戳归并到最近的整点或周期边界,便于按小时、天、周等周期聚合分析。

性能说明

  • CEIL 是标量函数,对每行独立计算,性能高。
  • 建议在 WHERE 子句中先过滤无效数据。

相关函数

  • FLOOR:向下取整
  • ROUND:四舍五入
  • ABS:绝对值

关于 TDengine

TDengine 专为物联网IoT平台、工业大数据平台设计。其中,TDengine TSDB 是一款高性能、分布式的时序数据库(Time Series Database),同时它还带有内建的缓存、流式计算、数据订阅等系统功能;TDengine IDMP 是一款AI原生工业数据管理平台,它通过树状层次结构建立数据目录,对数据进行标准化、情景化,并通过 AI 提供实时分析、可视化、事件管理与报警等功能。

http://www.dtcms.com/a/474210.html

相关文章:

  • 石家庄好用的招聘网站做网站网站会被判多久
  • 北京平台网站建设代运营公司介绍
  • AI编程作品:Android 极简秒表应用
  • 网络五子棋对战游戏测试报告
  • html做网站的原则自建站排名
  • 互联网彩票网站开发珠海seo关键词排名
  • springboot095交通事故档案管理系统lgl(源码+部署说明+演示视频+源码介绍+lw)
  • 新郑郑州网站建设铭讯网站建设
  • 在next项目中使用iconfont图标方法
  • 重新定义AI编程协作:深入解析Claude Code多智能体系统架
  • 深入解析如何高效处理PDF?
  • uniapp运行微信小程序uni为什么是undefined
  • 2100AI智能生活(下)
  • 什么是后端开发-常见问题
  • 产品做优化好还是超级网站好WordPress来应力
  • wordpress 慢2017郴州网站seo优化
  • 05_零基础搭建AI智能体开发环境:全网开源资源完全指南
  • UDSONIP学习
  • 照片网站cmswordpress 做问卷
  • 除了crontab,如何实现自动化MySQL备份?
  • 积分器电路(波形转换电路)
  • 免费远程新标杆:UU远程对比ToDesk、向日葵,个人体验更优
  • 做视频网站的服务器深圳福田地址随便来一个
  • Git介绍和使用
  • LeetCode经典算法题解详解
  • Java基于SpringBoot的农场管理系统小程序【附源码、文档说明】
  • 建站系统社区网站建设建站在线建站
  • 数字政府智慧政务服务跨省通办建设方案PPT(46页)
  • 宁波市内做公司网站的公司网站建设与管理技术发展
  • WPS国际版 18.21.1| 可使用邮箱登录,大部分功能已经解锁,比国内版简洁干净