TDengine 操作符与表达式 — 算术、比较、逻辑、位运算
分类10.SQL 参考 |篇章06 操作符与表达式适用版本TDengine v3.xv3.3.x / v3.4.x | 最后更新2026-07-20操作符是构成表达式的基础。本文列出 TDengine 支持的所有操作符、优先级、空值语义、类型转换规则。操作符速查表类别操作符算术 - * / %比较 ! IS NULL IS NOT NULL范围BETWEEN AND, NOT BETWEEN AND集合IN, NOT IN模式LIKE, NOT LIKE, MATCH, NMATCH逻辑AND, OR, NOT位运算 | ^ ~ 字符串|| (拼接)条件CASE WHEN, COALESCE, NULLIF详细解析1. 算术操作符SELECTcurrent10,voltage-5,current*voltageASpower,total/countASavg,remainder%10FROMmeters;-- 时间算术SELECTts1h,ts-30m,tsINTERVAL1dFROMmeters;-- 时间 时长 时间-- 时间 - 时间 时长毫秒-- 类型规则-- INT FLOAT → FLOAT-- INT BIGINT → BIGINT-- 除法结果至少 DOUBLE2. 比较操作符WHEREcurrent100WHEREcurrent!100-- 或 WHEREcurrent100WHEREcurrent100WHEREcurrent100WHEREcurrent100WHEREcurrentISNULLWHEREcurrentISNOTNULL-- NULL 比较WHEREcurrentNULL-- 永远 false不要用WHEREcurrentISNULL-- 正确-- 字符串比较WHERElocationBeijing-- 区分大小写WHERELOWER(location)beijing-- 不区分-- 时间戳比较WHEREts2026-06-01WHEREtsNOW-1hWHEREtsBETWEEN2026-06-01AND2026-06-303. 范围操作符WHEREcurrentBETWEEN50AND100-- 含两端WHEREcurrentNOTBETWEEN50AND100-- 时间范围WHEREtsBETWEEN2026-06-01AND2026-06-30-- 注意-- BETWEEN 是 ≥ AND ≤-- 等价于 current 50 AND current 1004. 集合操作符WHERElocationIN(Beijing,Shanghai,Guangzhou)WHERElocationNOTIN(Beijing)WHEREtbnameIN(d001,d002,d003)-- IN 子查询视支持WHEREtbnameIN(SELECTtbnameFROMfilter_table)-- 性能注意-- IN 列表 1000 项会变慢-- 大列表考虑 JOIN 改写5. 模式匹配-- LIKE通配符匹配WHERElocationLIKEBei%-- 前缀WHERElocationLIKE%ng-- 后缀WHERElocationLIKE%ji%-- 包含WHERElocationLIKEB_ijing-- _ 单字符-- MATCH正则表达式视版本WHEREdescriptionMATCH^ERROR.*WHEREdescription NMATCH^WARN.*-- 性能-- LIKE prefix% 可用 Tag 索引-- LIKE %suffix 全扫-- MATCH 全扫6. 逻辑操作符WHEREcurrent100ANDvoltage200WHERElocationBeijingORlocationShanghaiWHERENOT(current100)-- 优先级高到低-- NOT AND OR-- 用括号明确-- 三值逻辑-- TRUE / FALSE / NULL-- NULL AND TRUE NULL-- NULL OR FALSE NULL-- NULL OR TRUE TRUE7. 位运算SELECTflags0x01ASbit1,flags|0x10ASset_bit,flags^0xFFASinvert,~flagsASbit_not,flags2ASshift_left,flags1ASshift_rightFROMdata;-- 适用于整数列-- 不适用于浮点8. 条件与 NULL-- CASE WHENSELECTts,CASEWHENcurrent100THENHIGHWHENcurrent50THENMIDELSELOWENDASlevelFROMmeters;-- COALESCE: 第一个非 NULLSELECTCOALESCE(value,default_value,0)FROMdata;-- NULLIF: 相等返回 NULLSELECTNULLIF(x,0)FROMdata;-- x0 → NULL, 否则 x-- IFNULL视版本SELECTIFNULL(value,0)FROMdata;代码示例实战表达式-- 异常检测SELECTts,CASEWHENcurrent150THENCRITICALWHENcurrent100THENWARNINGELSENORMALENDASalert_levelFROMmetersWHEREtsnow-1h;-- 计算列SELECTts,current*voltageASpower_w,current*voltage*0.001ASpower_kw,(current-50)/50*100ASdeviation_pctFROMmeters;-- 多条件过滤SELECT*FROMmetersWHERE(locationBeijingORlocationShanghai)ANDtsBETWEEN2026-06-01AND2026-06-30ANDcurrent0ANDvoltageISNOTNULL;-- 字符串拼接视版本SELECTCONCAT(location,-,CAST(groupidASVARCHAR(10)))ASfull_idFROMmeters;-- 位标记应用SELECTts,flags0x01AShas_error,flags0x02AShas_warning,flags0x04AShas_infoFROMeventsWHEREflags0x010x01;-- 含错误标记类型转换-- 显式转换SELECTCAST(int_colASBIGINT),CAST(str_colASINT),CAST(tsASBIGINT)-- 时间戳数值FROMdata;-- 隐式转换-- 数值大类型扩展-- 字符串到数值部分场景-- 时间转换SELECTTO_TIMESTAMP(2026-06-04,yyyy-mm-dd)FROMdual;SELECTTO_CHAR(ts,yyyy-mm-dd HH:MI)FROMdata;复杂条件-- 嵌套 CASESELECTCASEWHENcurrent100THENCASEWHENvoltage220THENHIGH_BOTHELSEHIGH_CENDELSECASEWHENvoltage220THENHIGH_VELSENORMALENDENDASstatusFROMmeters;-- IN 子查询SELECT*FROMmetersWHEREtbnameIN(SELECTtbnameFROM(SELECTtbname,AVG(current)ASavg_cFROMmetersPARTITIONBYtbname)WHEREavg_c50);性能考量操作符性能操作符性能等值/范围比较极快SMA 加速BETWEEN极快IN (小列表)快IN (大列表)中LIKE ‘prefix%’快Tag 索引LIKE ‘%xxx%’慢全扫MATCH 正则慢算术表达式快向量化CASE WHEN中优化建议简单常量比较优先避免函数包裹列破坏索引大 IN 列表用 JOIN 重写LIKE 加前缀启动FAQQ1: NULL 参与运算结果NULL 参与算术 → NULLNULL 比较 → NULL不真也不假逻辑运算见三值逻辑Q2: 字符串比较区分大小写默认区分。可用 UPPER/LOWER 统一。Q3: 浮点比较精度问题避免直接 用 ABS(x - y) epsilon。Q4: 时间相减结果返回毫秒数BIGINT。如ts1 - ts2。Q5: 优先级记不住怎么办加括号最安全WHERE (a AND b) OR (c AND d)。参考系统构架篇01-《TDengine 整体架构全景》02-《集群拓扑深度解析》03-《MNode 内部机制深度解析》04-《RPC 通信层深度解析》05-《VNode 生命周期》06-《RAFT 共识协议》07-《端到端的消息流》数据模型01-《数据库创建与参数详解》02-《超级表/子表/普通表》03-《支持数据类型深度解析》04-《TDengine Tag 设计哲学与 Schema 变更机制》05-《TDengine 虚拟表实现原理》存储引擎01-《TDengine 存储引擎概览》02-《TDengine MemTable 深度解析》03-《TDengine WAL 预写日志机制》04-《TDengine 数据文件格式》05-《TDengine Commit 与 Flush 机制 》06-《TDengine Compaction 合并策略 》07-《TDengine 数据保留与 TTL》08-《TDengine 压缩编码机制》09-《TDengine Cache 与 Last 查询加速》10-《TDengine 逻辑计划生成》查询引擎01-《TDengine 查询引擎概览》02-《TDengine SQL 解析与词法分析》03-《TDengine 语义分析与 AST 重写》04-《TDengine 逻辑计划生成》05-《TDengine 物理计划生成》06-《TDengine 扫描算子》07-《TDengine 聚合算子》08-《TDengine 连接算子》09-《TDengine 排序、填充与投影》10-《TDengine 分布式查询执行》11-《TDengine EXPLAIN 与查询优化》数据写入01-《TDengine SQL INSERT》02-《TDengine 无模式写入》03-《TDengine STMT 写入》04-《TDengine 写入内部流程》05-《TDengine 数据更新删除》数据订阅01-《TDengine 数据订阅》02-《TDengine 订阅 vs Kafka》03-《TDengine TMQ 消费流程》04-《TDengine 内部机制》05-《TDengine TMQ 最佳实践》预聚合01-《TDengine RSMA》02-《TDengine TSMA — 时间维度的物化聚合视图》03-《TDengine SMA 内部实现》索引01-《TDengine Tag 索引》02-《TDengine SMA 索引》SQL 语句01-《TDengine DDL》02-《TDengine DML SELECT》03-《TDengine DML 函数完整参考》04-《TDengine JOIN 完整语法》05-《TDengine 窗口完整语法》关于 TDengineTDengine 专为物联网IoT平台、工业大数据平台设计。其中TDengine TSDB 是一款高性能、分布式的时序数据库Time Series Database同时它还带有内建的缓存、流式计算、数据订阅等系统功能TDengine IDMP 是一款AI原生工业数据管理平台它通过树状层次结构建立数据目录对数据进行标准化、情景化并通过 AI 提供实时分析、可视化、事件管理与报警等功能。

相关新闻

AU-60双麦波束形成语音模组

AU-60双麦波束形成语音模组

在会议室音频方案中,听不清是排名第一的用户投诉。环境混响、空调噪音、多人发言串扰、远端回声——每一个问题都会让一场重要会议变得令人抓狂。 本文从降噪性能、拾音距离、回声消除三个维度,拆解AU-60双麦波束形成语音模组如何解决会议室音频痛点。 一…

2026/7/22 10:53:46 阅读更多 →
GitHub Copilot SDK Rust系统级集成:安全高效的AI代理实现

GitHub Copilot SDK Rust系统级集成:安全高效的AI代理实现

GitHub Copilot SDK Rust系统级集成:安全高效的AI代理实现 【免费下载链接】copilot-sdk Multi-platform SDK for integrating GitHub Copilot Agent into apps and services 项目地址: https://gitcode.com/GitHub_Trending/co/copilot-sdk GitHub Copilot …

2026/7/20 20:38:17 阅读更多 →
鸿蒙 ArkTS 实战:Volunteer Photo Team 从志愿摄影团队到社群活动工具完整解析

鸿蒙 ArkTS 实战:Volunteer Photo Team 从志愿摄影团队到社群活动工具完整解析

鸿蒙 ArkTS 实战:Volunteer Photo Team 从志愿摄影团队到社群活动工具完整解析 前言 Volunteer Photo Team 是一个基于鸿蒙 ArkTS 与 ArkUI 声明式范式实现的单页应用,主题聚焦 公益活动摄影协作。 它把 维护活动报名、拍摄任务、交付状态、归档照片数…

2026/7/22 0:46:17 阅读更多 →

最新新闻

分拣效率决定利润!菜东家智能分拣系统,搞定生鲜配送核心难题

分拣效率决定利润!菜东家智能分拣系统,搞定生鲜配送核心难题

做生鲜配送,分拣是核心命脉,也是最大成本黑洞。很多配送老板都有同款困扰:凌晨订单堆积、纸质单据混乱、人工分拣靠眼力和经验,错分、漏分、串单频发;新人上手慢、熟手人工成本高,旺季爆单人手不够、淡季人…

2026/7/22 10:53:54 阅读更多 →
查看torch 的内置依赖约束、版本相关和下载链接和 onnx-runtime-gpu 版本

查看torch 的内置依赖约束、版本相关和下载链接和 onnx-runtime-gpu 版本

由于报错引发以下系列操作:一. 确定torch内置依赖约束 cuda-toolkit13.0.2 的依赖关系 不是写在 PyTorch 官网文档里的,而是在 wheel 包内部的 METADATA 文件 中的。它是 pip 在安装时自动读取的包元数据,属于 NVIDIA 打包 nvidia-cuda-* 系…

2026/7/22 10:53:54 阅读更多 →
Tiva TM4C129 GPTM定时器PWM模式配置详解与实战

Tiva TM4C129 GPTM定时器PWM模式配置详解与实战

1. GPTM模块架构与PWM模式核心原理在嵌入式开发中,定时器是驱动一切时序逻辑的“心脏”。Tiva™ TM4C129LNCZAD微控制器内置的通用定时器模块,其设计之精巧和功能之强大,常常让初次接触的开发者感到既兴奋又困惑。兴奋在于它几乎能搞定所有与…

2026/7/22 10:53:54 阅读更多 →
Agent 开发的新数理基石:基于“距离奇异参数 (↑JQ)”的二维投影代数

Agent 开发的新数理基石:基于“距离奇异参数 (↑JQ)”的二维投影代数

一、为什么 Agent 需要一套新的“投影代数”&#xff1f;在 LLM 驱动的 Agent 开发中&#xff0c;我们经常遇到这样的困境&#xff1a;输入&#xff1a;用户指令模糊、上下文矛盾、工具返回异常&#xff08;如方程判别式 < 0&#xff09;。推理&#xff1a;Agent 内部的 Cha…

2026/7/22 10:53:54 阅读更多 →
TI Tiva C系列MCU SHA/MD5硬件加速器实战:HMAC优化与DMA配置

TI Tiva C系列MCU SHA/MD5硬件加速器实战:HMAC优化与DMA配置

1. 项目概述与核心价值在嵌入式系统&#xff0c;尤其是那些对数据完整性和真实性有严苛要求的物联网终端、支付设备或安全启动模块中&#xff0c;哈希算法&#xff08;Hash&#xff09;和基于哈希的消息认证码&#xff08;HMAC&#xff09;是构建安全防线的基石。然而&#xff…

2026/7/22 10:53:54 阅读更多 →
Azure Local 2602→2606 演进全景:2604 为什么是架构转折点(2602→2606 演进与升级价值·中篇)

Azure Local 2602→2606 演进全景:2604 为什么是架构转折点(2602→2606 演进与升级价值·中篇)

未经同意&#xff0c;请勿转载&#xff01; 适用版本&#xff1a;Azure Local 12.2602.1002.501&#xff08;2602&#xff09; → 12.2606.1003.205&#xff08;2606&#xff09; 文档来源&#xff1a;Whats new in Azure Local / Azure Local Overview / Disaggregated deploy…

2026/7/22 10:52:53 阅读更多 →

日新闻

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

1. 项目概述与SYSCFG模块的核心价值在嵌入式系统&#xff0c;尤其是像TI C6000系列这样的高性能DSP开发中&#xff0c;我们常常会与芯片手册里那些密密麻麻的寄存器打交道。很多开发者可能更关注算法实现、内存优化或者外设驱动&#xff0c;但对于一个稳定、高效的系统而言&…

2026/7/22 0:00:26 阅读更多 →
微信Server酱:高到达率的应急通知方案实践

微信Server酱:高到达率的应急通知方案实践

1. 为什么我们需要"最次"的通知方案&#xff1f; 在数字化协作环境中&#xff0c;消息通知系统的重要性不言而喻明。但现实情况是&#xff0c;企业级通知方案往往需要复杂的API对接&#xff08;如企业微信、钉钉、飞书&#xff09;&#xff0c;个人开发者的小项目又经…

2026/7/22 0:00:26 阅读更多 →
甲方要的“简洁“PPT,到底是简洁还是省事?

甲方要的“简洁“PPT,到底是简洁还是省事?

甲方说"简洁一点"&#xff0c;乙方听到的是"少做几页"。甲方说"不要太复杂"&#xff0c;乙方理解成"别放图表了"。结果交过去&#xff0c;甲方说"我说的简洁不是这个意思"。"简洁"这个词在PPT语境里&#xff0c;是…

2026/7/22 0:00:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中&#xff0c;我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源&#xff0c;还是配置文件、证书等&#xff0c;都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下&#xff0c;但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP&#xff08;轻量级目录访问协议&#xff09;作为企业级身份认证的黄金标准&#xff0c;已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时&#xff0c;发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/21 5:34:47 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”&#xff0c;而是以可解释、可审计、可迭代的方式&#xff0c;赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/21 8:25:39 阅读更多 →

月新闻