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

完整教程:TDengine 数学函数 DEGRESS 用户手册

在这里插入图片描述

DEGREES

DEGREES(expr)

功能说明

将弧度值转换为角度值。

版本

v3.3.3.0

返回结果类型

DOUBLE。

适用数据类型

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

嵌套子查询支持

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

适用于

表和超级表。

使用说明

  • expr 为 NULL,返回 NULL。
  • 转换公式:degree = radian × 180 / π。
  • 只能与普通列、选择(Selection)、投影(Projection)函数一起使用,不能与聚合(Aggregation)函数一起使用。
  • 支持与其他数学函数组合使用。

使用示例

假设有以下智能电表表结构:

CREATE DATABASE power;
USE power;
CREATE STABLE meters (
ts TIMESTAMP,
current FLOAT,
voltage INT,
phase FLOAT
) TAGS (
location VARCHAR(64),
groupId INT
);
CREATE TABLE d1001 USING meters TAGS ('California.SanFrancisco', 1);
基础示例

示例 1: 常量计算

taos> SELECT DEGREES(0);
degrees(0)        |
==========================
0.000000000000000 |
taos> SELECT DEGREES(1);
degrees(1)        |
==========================
57.295779513082321 |
taos> SELECT DEGREES(1.5);
degrees(1.5)       |
==========================
85.943669269623481 |
taos> SELECT DEGREES(PI());
degrees(pi())       |
============================
180.000000000000000 |

示例 2: 负数转换

taos> SELECT DEGREES(-1);
degrees(-1)        |
==========================
-57.295779513082321 |
taos> SELECT DEGREES(-1.5);
degrees(-1.5)       |
==========================
-85.943669269623481 |

示例 3: NULL 值处理

taos> SELECT DEGREES(NULL);
degrees(null)      |
==========================
NULL                    |
智能电表场景示例

示例 4: 转换相位弧度为角度

-- 插入测试数据,phase 字段存储弧度值
INSERT INTO d1001 VALUES
('2018-10-03 14:38:05.000', 10.3, 220, 0.523599),
('2018-10-03 14:38:15.000', 12.6, 220, 0.785398),
('2018-10-03 14:38:16.800', 11.8, 221, 1.047198);
-- 将相位从弧度转换为角度
taos> SELECT ts, phase, DEGREES(phase) AS phase_degree
FROM d1001;
ts          |   phase   |    phase_degree     |
==========================================================
2018-10-03 14:38:05 |  0.523599 |      30.000057296  |
2018-10-03 14:38:15 |  0.785398 |      45.000011459  |
2018-10-03 14:38:16 |  1.047198 |      60.000057296  |

示例 5: 与三角函数组合使用

-- 计算电流对应角度的正弦值的反函数角度
taos> SELECT DEGREES(ASIN(current/100))
FROM d1001
WHERE ABS(current) <= 100;
-- 计算 sin 值再转换为角度
taos> SELECT current,
SIN(current) AS sin_val,
DEGREES(SIN(current)) AS sin_degrees
FROM d1001
LIMIT 3;

示例 6: 算术运算

-- 角度加法
taos> SELECT DEGREES(1) + 1;
degrees(1) + 1  |
==================
58.295779513082 |
-- 角度减法
taos> SELECT DEGREES(1) - 1;
degrees(1) - 1  |
==================
56.295779513082 |
-- 角度乘法
taos> SELECT DEGREES(1) * 2;
degrees(1) * 2   |
===================
114.591559026165 |
-- 角度除法
taos> SELECT DEGREES(1) / 2;
degrees(1) / 2  |
==================
28.647889756541 |

示例 7: 与其他数学函数嵌套

-- ABS + DEGREES
taos> SELECT DEGREES(ABS(-10));
degrees(abs(-10))     |
============================
572.957795130823210 |
-- DEGREES + POW
taos> SELECT POW(DEGREES(10), 2);
pow(degrees(10), 2)    |
============================
328231.636532807860 |
-- DEGREES + SQRT
taos> SELECT SQRT(DEGREES(10));
sqrt(degrees(10))     |
============================
23.949533969863897 |
-- DEGREES + CAST
taos> SELECT CAST(DEGREES(10) AS INT);
cast(degrees(10) as int) |
===========================
572 |

示例 8: 反向验证(RADIANS)

-- 验证 DEGREES 和 RADIANS 互为反函数
taos> SELECT DEGREES(RADIANS(90));
degrees(radians(90)) |
=======================
90.000000000000 |
taos> SELECT DEGREES(ATAN(1));
degrees(atan(1))  |
====================
45.000000000 |

示例 9: 在表查询中使用

-- 从表中读取并转换
taos> SELECT DEGREES(phase) FROM d1001 ORDER BY ts LIMIT 10;
-- 与聚合函数分开使用
taos> SELECT ts, DEGREES(phase)
FROM (SELECT ts, phase FROM d1001)
ORDER BY ts;

示例 10: 大数值转换

taos> SELECT DEGREES(1000000);
degrees(1000000)      |
============================
57295779.513082321286 |

实际生产场景应用

场景 1: 电力系统 - 相位角监测

-- 将相位从弧度转换为角度,便于工程人员理解
SELECT
tbname,
ts,
phase AS phase_radian,
DEGREES(phase) AS phase_degree,
CASE
WHEN DEGREES(phase) < 30 THEN '相位正常'
WHEN DEGREES(phase) < 60 THEN '相位偏移'
ELSE '相位严重偏移'
END AS status
FROM meters
WHERE ts >= NOW - 1h
ORDER BY ts DESC;

场景 2: 三相电分析 - 角度计算

-- 计算三相电的相位角差(假设有三个相位字段)
SELECT
ts,
location,
DEGREES(phase1) AS phase1_deg,
DEGREES(phase2) AS phase2_deg,
DEGREES(phase3) AS phase3_deg,
ABS(DEGREES(phase1) - DEGREES(phase2)) AS phase_diff_12,
ABS(DEGREES(phase2) - DEGREES(phase3)) AS phase_diff_23
FROM meters
WHERE ts >= NOW - 1d;

场景 3: 设备健康监测 - 角度趋势分析

-- 统计每小时平均相位角度
SELECT
_wstart AS time_window,
AVG(DEGREES(phase)) AS avg_phase_degree,
MAX(DEGREES(phase)) AS max_phase_degree,
MIN(DEGREES(phase)) AS min_phase_degree,
STDDEV(DEGREES(phase)) AS phase_stddev
FROM meters
WHERE ts >= NOW - 7d
INTERVAL(1h);

场景 4: 数据可视化 - 角度归一化

-- 将弧度值归一化为 0-360 度范围
SELECT
tbname,
ts,
phase,
MOD(DEGREES(phase), 360) AS normalized_degree
FROM meters
WHERE ts >= NOW - 1h
ORDER BY ts;

注意事项

  • 输入范围:DEGREES 函数可以接受任意实数作为输入,没有范围限制。
  • 精度问题:由于浮点运算的精度限制,极大或极小的输入值可能导致精度损失。
  • 性能:DEGREES 是标量函数,对每一行数据独立计算,性能开销较小。
  • 不支持聚合混用:不能与聚合函数(如 SUM、AVG)直接组合使用,需使用子查询。
  • 角度范围:转换后的角度值没有限制,可能超出 0-360 度范围,需要根据实际应用场景进行归一化处理。

数学关系

相关函数

  • RADIANS: 将角度转换为弧度,与 DEGREES 互为反函数
  • SIN: 正弦函数,输入为弧度
  • COS: 余弦函数,输入为弧度
  • TAN: 正切函数,输入为弧度
  • ASIN: 反正弦函数,返回弧度
  • ACOS: 反余弦函数,返回弧度
  • ATAN: 反正切函数,返回弧度
  • PI: 返回圆周率 π

关于 TDengine

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

http://www.gsyq.cn/news/47264.html

相关文章:

  • RMAN delete归档报错 specification does not match any archived log in the repository
  • 全连接层属于输入层、输出层还是隐藏层
  • 2025年益阳移动滑轨屏趋势预测推荐
  • 基于STM32F103与A3988驱动芯片的两相四线步进电机控制方案
  • 2025IT 监控厂商选型指南:5 款高价值运维监控产品推荐,适配数字化转型需求
  • C# 通过共享内存的方式给python传递一张图片
  • 雷池 WAF 免费版实测:小白用 Apache 搭环境,30 分钟护住 API 接口安全
  • 三石量化股票数据提取分析报告 - 2025年11月12日
  • 2025年运动鞋旋转扣定做厂家权威推荐榜单:鞋带导扣/快速系带旋转扣/便携旋转扣源头厂家精选
  • 卷积层属于输入层、输出层还是隐藏层
  • 东方财富股票数据提取分析报告 - 2025年11月12日 - 10:49:33
  • 2025年EGUOO纳豆激酶功效:权威盘点心血管养护的科学边界与实证
  • 2025年11月港股打新券商推荐:牌照合规性与服务实力综合评测排行榜
  • 2025年EGUOO美国原装进口深度解析:本土研发到全球交付的全程品控链
  • 2025年EGUOO纳豆激酶:深度解析心血管膳食补充剂的科研护城河
  • Pyodide WebAssembly环境
  • Skp版本转换器 支持 SketchUp3-2025(中文免费版)下载与安装教程
  • 2025年山东直流电机维修公司权威推荐榜单:主轴电机维修/永磁电机维修/大型电机维修服务商精选
  • 神经元为什么要设置偏置bias
  • 2025 年 11 月柏尔地板厂家推荐排行榜,定制地板,实木地板,高端定制,实木地热,实木双锁扣地板公司精选
  • 2025 年 11 月悬浮炉厂家推荐排行榜,真空悬浮炉,真空感应悬浮炉,50kg悬浮炉,30kg悬浮炉,15kg悬浮炉,5kg悬浮炉公司精选
  • 2025年高端员工工作服定做厂家权威推荐榜单:高端工服/高端劳保工作服/高端夏季工作服源头厂家精选
  • 2025CSP-S组 T2 部分分做法
  • 实现文件外发管控怎么做的全面指南
  • VonaJS: I18n如何支持Swagger多语言
  • 2025年环氧防腐底漆生产厂家权威推荐榜单:水性有机硅/水性聚氨酯漆/双组份水性漆源头厂家精选
  • 跨网文件传输怎么做?主要有哪几种安全有效的解决方案?
  • 2025企业选择什么样的IT监控厂商?数字化转型值得部署的5款运维监控产品推荐
  • springboot 使用druid 配置数据库密码加密
  • 迈威IMC系列光纤收发器为何成为市场“真香”选择?