TDengine 时间函数 TODAY() 用户手册

发布于:2025-09-10 ⋅ 阅读:(18) ⋅ 点赞:(0)

在这里插入图片描述

TODAY() 函数用户手册

函数定义

TODAY()

功能说明

TODAY() 函数返回客户端当日零时(00:00:00)的系统时间。该函数是一个无参数的时间函数,主要用于获取当前日期的开始时间戳。

返回值

  • 数据类型: TIMESTAMP
  • 精度: 与当前数据库(DATABASE)设置的时间精度一致

适用范围

  • 表类型: 表和超级表
  • 使用场景: WHERE 子句、INSERT 语句
  • 字段类型: 只能作用于 TIMESTAMP 类型的字段

时间运算支持

TODAY() 函数支持时间加减运算,可以与以下时间单位组合使用:

时间单位 符号 说明
纳秒 b nanosecond
微秒 u microsecond
毫秒 a millisecond
s second
分钟 m minute
小时 h hour
d day
w week

使用示例

基本用法

-- 获取今日零时时间戳
SELECT TODAY();

时间运算

-- 今日零时加1小时
SELECT TODAY() + 1h;

-- 今日零时加30分钟
SELECT TODAY() + 30m;

-- 今日零时加1天(即明日零时)
SELECT TODAY() + 1d;

-- 今日零时减1天(即昨日零时)
SELECT TODAY() - 1d;

在 WHERE 子句中使用

-- 查询今日的数据
SELECT * FROM table_name WHERE ts >= TODAY() AND ts < TODAY() + 1d;

-- 查询今日上午的数据
SELECT * FROM table_name WHERE ts >= TODAY() AND ts < TODAY() + 12h;

-- 查询最近7天的数据
SELECT * FROM table_name WHERE ts >= TODAY() - 7d;

在 INSERT 语句中使用

-- 插入今日零时的记录
INSERT INTO table_name (ts, value) VALUES (TODAY(), 100);

-- 插入今日中午的记录
INSERT INTO table_name (ts, value) VALUES (TODAY() + 12h, 200);

注意事项

  1. 时间精度: 返回的时间戳精度取决于当前数据库的时间精度设置(毫秒、微秒或纳秒)

  2. 客户端时间: 函数返回的是客户端系统的当日零时,而非服务器时间

  3. 字段限制: 在WHERE或INSERT语句中使用时,只能与TIMESTAMP类型的字段进行比较或赋值

  4. 保序性: 该函数具有保序特性,在排序场景中表现稳定

相关函数

关于 TDengine

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


网站公告

今日签到

点亮在社区的每一天
去签到