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

TDengine函数大全-时间和日期函数

以下内容来自 TDengine 官方文档 及
GitHub 内容 。

以下所有示例基于 TDengine 3.1.0.3

TDengine函数大全

1.数学函数
2.字符串函数
3.转换函数
4.时间和日期函数
5.聚合函数
6.选择函数
7.时序数据库特有函数
8.系统函数

时间和日期函数

    • TDengine函数大全
        • NOW
        • TIMEDIFF
        • TIMETRUNCATE
        • TIMEZONE
        • TODAY

NOW

NOW()

功能说明:返回客户端当前系统时间。

返回结果数据类型:TIMESTAMP。

应用字段:在 WHERE 或 INSERT 语句中使用时只能作用于 TIMESTAMP 类型的字段。

适用于:表和超级表。

嵌套子查询支持:适用于内层查询和外层查询。

使用说明

  • 支持时间加减操作,如 NOW() + 1s, 支持的时间单位如下:
    b(纳秒)、u(微秒)、a(毫秒)、s(秒)、m(分)、h(小时)、d(天)、w(周)。
  • 返回的时间戳精度与当前 DATABASE 设置的时间精度一致。

示例:

> create table t4 (ts timestamp, v1 int);
> insert into t4 values(now,1);
> insert into t4 values(now,2);
> insert into t4 values(now,3);> select * from t4;ts            |     v1      |
========================================2023-08-31 09:27:36.033 |           1 |2023-08-31 09:27:38.275 |           2 |2023-08-31 09:27:40.270 |           3 |> select * from t4 where ts>now-60s;ts            |     v1      |
========================================2023-08-31 09:27:36.033 |           1 |2023-08-31 09:27:38.275 |           2 |2023-08-31 09:27:40.270 |           3 |

TIMEDIFF

TIMEDIFF(expr1, expr2 [, time_unit])

功能说明:计算两个时间戳之间的差值,并近似到时间单位 time_unit 指定的精度。

返回结果数据类型:BIGINT。

应用字段:表示 UNIX 时间戳的 BIGINT, TIMESTAMP 类型,或符合日期时间格式的 VARCHAR, NCHAR 类型。

适用于:表和超级表。

嵌套子查询支持:适用于内层查询和外层查询。

使用说明

  • 支持的时间单位 time_unit 如下(时间精度不能小于 DATABASE 时间精度):
    1b(纳秒), 1u(微秒),1a(毫秒),1s(秒),1m(分),1h(小时),1d(天), 1w(周)。
  • 如果时间单位 time_unit 未指定, 返回的时间差值精度与当前 DATABASE 设置的时间精度一致。
  • 输入包含不符合时间日期格式的字符串则返回 NULL。

示例:

> create table t5 (ts1 timestamp,ts2 timestamp);
> insert into t5 values(now,now-1s);
> insert into t5 values(now,now-2s);
> insert into t5 values(now,now-3s);taos> select * from t5;ts1           |           ts2           |
====================================================2023-08-31 09:32:54.649 | 2023-08-31 09:32:53.649 |2023-08-31 09:32:57.637 | 2023-08-31 09:32:55.637 |2023-08-31 09:32:59.935 | 2023-08-31 09:32:56.935 |> select timediff(ts1,ts2) from t5;timediff(ts1,ts2)   |
========================1000 |2000 |3000 |> select timediff(ts1,ts2,1s) from t5;timediff(ts1,ts2,1s)  |
========================1 |2 |3 |> select timediff(ts1,ts2,1m) from t5;timediff(ts1,ts2,1m)  |
========================0 |0 |0 |> select timediff(ts1,ts2,1u) from t5;DB error: TIMEDIFF function time unit parameter should be greater than db precision (0.000294s)

TIMETRUNCATE

TIMETRUNCATE(expr, time_unit [, ignore_timezone])ignore_timezone: {0| 1
}

功能说明:将时间戳按照指定时间单位 time_unit 进行截断。

返回结果数据类型:TIMESTAMP。

应用字段:表示 UNIX 时间戳的 BIGINT, TIMESTAMP 类型,或符合日期时间格式的 VARCHAR, NCHAR 类型。

适用于:表和超级表。

使用说明

  • 支持的时间单位 time_unit 如下:
    1b(纳秒), 1u(微秒),1a(毫秒),1s(秒),1m(分),1h(小时),1d(天), 1w(周)。
  • 返回的时间戳精度与当前 DATABASE 设置的时间精度一致。
  • 输入包含不符合时间日期格式的字符串则返回 NULL。
  • 当使用 1d 作为时间单位对时间戳进行截断时, 可通过设置 ignore_timezone 参数指定返回结果的显示是否忽略客户端时区的影响。
    例如客户端所配置时区为 UTC+0800, 则 TIMETRUNCATE(‘2020-01-01 23:00:00’, 1d, 0) 返回结果为 ‘2020-01-01 08:00:00’。
    而使用 TIMETRUNCATE(‘2020-01-01 23:00:00’, 1d, 1) 设置忽略时区时,返回结果为 ‘2020-01-01 00:00:00’
    ignore_timezone 如果忽略的话,则默认值为 1 。

示例:

> select ts1 from t5;ts1           |
==========================2023-08-31 09:32:54.649 |2023-08-31 09:32:57.637 |2023-08-31 09:32:59.935 |> select timetruncate(ts1,1s) from t5;timetruncate(ts1,1s)   |
==========================2023-08-31 09:32:54.000 |2023-08-31 09:32:57.000 |2023-08-31 09:32:59.000 |> select timetruncate(ts1,1m) from t5;timetruncate(ts1,1m)   |
==========================2023-08-31 09:32:00.000 |2023-08-31 09:32:00.000 |2023-08-31 09:32:00.000 |> select timetruncate(ts1,1h) from t5;timetruncate(ts1,1h)   |
==========================2023-08-31 09:00:00.000 |2023-08-31 09:00:00.000 |2023-08-31 09:00:00.000 |> select timetruncate(ts1,1d) from t5;timetruncate(ts1,1d)   |
==========================2023-08-31 00:00:00.000 |2023-08-31 00:00:00.000 |2023-08-31 00:00:00.000 |> select timetruncate(ts1,1d,0) from t5;timetruncate(ts1,1d,0)  |
==========================2023-08-31 08:00:00.000 |2023-08-31 08:00:00.000 |2023-08-31 08:00:00.000 |> select timetruncate(ts1,1d,1) from t5;timetruncate(ts1,1d,1)  |
==========================2023-08-31 00:00:00.000 |2023-08-31 00:00:00.000 |2023-08-31 00:00:00.000 |> select timetruncate('2023-01-01T12:01:00+09:00',1h,1) from t5;timetruncate('2023-01-01T12:01:00+09:00',1h,1) |
=================================================2023-01-01 11:00:00.000 |2023-01-01 11:00:00.000 |2023-01-01 11:00:00.000 |> select timetruncate('2023-01-01T12:01:00+09:00',1h,0) from t5;timetruncate('2023-01-01T12:01:00+09:00',1h,0) |
=================================================2023-01-01 11:00:00.000 |2023-01-01 11:00:00.000 |2023-01-01 11:00:00.000 |

TIMEZONE

TIMEZONE()

功能说明:返回客户端当前时区信息。

返回结果数据类型:VARCHAR。

应用字段:无

适用于:表和超级表。

示例:

> show variables;name               |                  value                   |  scope   |
=========================================================================================statusInterval                   | 1                                        | server   |timezone                         | Asia/Shanghai (CST, +0800)               | both     |locale                           | en_US.UTF-8                              | both     |charset                          | UTF-8                                    | both     |> select timezone() from t5 limit 1;timezone()                |
===========================================Asia/Shanghai (CST, +0800)               |

TODAY

TODAY()

功能说明:返回客户端当日零时的系统时间。

返回结果数据类型:TIMESTAMP。

应用字段:在 WHERE 或 INSERT 语句中使用时只能作用于 TIMESTAMP 类型的字段。

适用于:表和超级表。

使用说明

  • 支持时间加减操作,如 TODAY() + 1s, 支持的时间单位如下:
    b(纳秒),u(微秒),a(毫秒),s(秒),m(分),h(小时),d(天),w(周)。
  • 返回的时间戳精度与当前 DATABASE 设置的时间精度一致。

示例:

> select today() from t5 limit 1;today()         |
==========================2023-08-31 00:00:00.000 |> select today()+1h from t5 limit 1;today()+1h        |
==========================2023-08-31 01:00:00.000 |> select today(),now from t5 limit 1;today()         |           now           |
====================================================2023-08-31 00:00:00.000 | 2023-08-31 09:44:40.058 |

相关文章:

TDengine函数大全-时间和日期函数

以下内容来自 TDengine 官方文档 及 GitHub 内容 。 以下所有示例基于 TDengine 3.1.0.3 TDengine函数大全 1.数学函数 2.字符串函数 3.转换函数 4.时间和日期函数 5.聚合函数 6.选择函数 7.时序数据库特有函数 8.系统函数 时间和日期函数 TDengine函数大全NOWTIMEDIFFTIMETRU…...

算法笔记——路径问题

在引入介绍如何写一个算法的时候,我们先引入一个题作为例子 1137. 第 N 个泰波那契数 - 力扣(LeetCode) 作为刚开始学习算法的我们,看到这个题目的时候,应该想好以下的问题: 1.状态表示 我们要用什么来表…...

Arcface部署应用实战

1、概述 人脸识别的一个比较常用的网络arcface,依赖于其特殊设计的loss函数,使得模型在训练的时候能够实现类间距离增大,类内的距离不断减小,最终使得所训练的backbone能够获取鉴别性很高的特征,便于人脸识别。 本文…...

MySQL InnoDB 是怎么使用 B+ 树存数据的?

这里限定 MySQL InnoDB 存储引擎来进行阐述,避免不必要的阅读歧义。 首先通过一篇文章简要了解下 B 树的相关知识:你好,我是B树 。 B 树是在 B 树基础上的变种,主要区别包括: 1、所有数据都存储在叶节点,其…...

手撕红黑树

学了很久编程了,红黑树在我们耳边早就如雷贯耳,都说他是数据结构中最难的几种结构了,但是,实际上学会了之后,你会发现他还是很简单的,个人认为他还没有AVL树的旋转难,好了,老规矩&am…...

举例说明自然语言处理(NLP)技术

自然语言处理(NLP)技术是一种人工智能领域的技术,用于处理自然语言文本或语音信号。下面是一些自然语言处理技术的例子: 机器翻译:机器翻译是一种自然语言处理的技术,它可以将一种语言的文本翻译成另一种语…...

淘宝详情API接口在各种应用中的作用性

标题:淘宝详情API接口在各种应用中的作用性 一、引言 随着互联网的快速发展和电子商务的广泛应用,淘宝作为中国最大的C2C电商平台,其提供的API接口在各种应用中发挥着越来越重要的作用。本文将详细介绍淘宝详情API接口的背景、定义、类型&a…...

java用正则方法验证文件名是否合法

Java中用到文件操作时,经常要验证文件名是否合法. 用File类的createNewFile()方法的确很管用.但当要批量验证时,效率上就会有问题.正则匹配的开销比创建文件少了很多. 那么一个合法的文件(Win下)应该符合如下规则: 1.文件名不能为空,空在这里有两个意思: 文件名(包括扩展名…...

【learnopengl】Assimp构建与编译

文章目录 【learnopengl】Assimp构建与编译1 前言2 Assimp构建与编译2.1 下载源码2.2 CMake构建2.3 VS2022编译 3 在VS中配置Assimp库4 验证 【learnopengl】Assimp构建与编译 1 前言 最近在跟着LearnOpenGL这个网站学习OpenGL,这篇文章详细记录一下教程中关于Ass…...

小兔鲜商02

npm i vueuse/core -fvue插件使用: 许多公用的全局组件,,可以通过插件注册进去,就不用一个一个导入组件,, import XtxSkeleton from /components/library/xtx-skeletonexport default {install (app) {// …...

一键替换工程文件和场景中的UI对象字体

具体流程&#xff1a; 找到工程中使用到的所有字体找到工程和场景中包含Text的所有对象展示要替换的字体名字让用户选择通过用户选择的字体&#xff0c;展示响应的物体对象一键替换 通过AssetDatabase.FindAssets找到工程中包含的所有字体&#xff1a; private List<strin…...

微信小程序编辑器代码格式缩进设置

第一步点击这个编辑器设置&#xff1a; 然后设置tab为空格&#xff0c;并且设置占几个空格&#xff0c;这里是4个空格。 这样就好了&#xff0c;文件保存就会自动设置好缩进格式了。...

Android Aidl跨进程通讯(二)--异常捕获处理

学更好的别人&#xff0c; 做更好的自己。 ——《微卡智享》 本文长度为1623字&#xff0c;预计阅读5分钟 前言 上一篇《Android Aidl跨进程通讯的简单使用》中介绍了跨进程的通讯处理&#xff0c;在进程间的数据通过Aidl实现了交互&#xff0c;项目中经常会遇到Bug&#xff0c…...

Android中OkHttp源码阅读二(责任链模式)

博主前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住也分享一下给大家 &#x1f449;点击跳转到教程 Android OkHttp源码阅读详解一 看OkHttp源码&#xff0c;发现OkHttp里面使用了责任链设计模式&#xff0c;所以才要学习…...

2023年03月 C/C++(六级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C++编程(1~8级)全部真题・点这里 第1题:波兰表达式 波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的波兰表示法为+ 2 3。波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的波兰表示法为* + 2 3 4。本题求解…...

顺序表链表OJ题(1)——【LeetCode】

W...Y的主页 &#x1f60a; 代码仓库分享 &#x1f495; 前言&#xff1a; 今天我们来回顾一下顺序表与链表&#xff0c;针对这一块我们也有许多OJ题目供大家参考。当我们学习完顺序表链表后避免不了一些习题的练习&#xff0c;这样才能巩固我们学习的内容。 话不多说&#xf…...

flex:1

问题1&#xff1a;“flex: 1” 与其他 “flex” 值有何区别&#xff1f; 答案&#xff1a; “flex: 1” 是 “flex” 属性的一种简写形式&#xff0c;它将 “flex-grow”、“flex-shrink” 和 “flex-basis” 设置为特定的值。与其他 “flex” 值相比&#xff0c;“flex: 1” …...

iOS练手项目知识点汇总

基础理解篇 Objective-C是一种面向对象的编程语言&#xff0c;它支持元编程。元编程是指编写程序来生成或操纵其他程序的技术。 Objective-C中&#xff0c;元编程可以使用Objective-C的动态特性来实现。例如可以使用Objective-C的运行时函数来动态地创建类、添加属性和方法等等…...

【Linux】Libevent相关小知识总结

Libevent是基于事件的&#xff0c;也就是说&#xff0c;相当于去注册一个事件&#xff0c;当这个事件发生的话&#xff0c;那么就会调用回调函数。...

【Spring Security】UserDetailsService 接口介绍

文章目录 UserDetailsService 介绍UserDetailsService 具体操作UserDetailsService 方法介绍 UserDetailsService 介绍 UserDetailsService 在 Spring Security 中主要承担查询系统内用户、验证密码、封装用户信息和角色权限。大白话就是你写一个实现类实现 UserDetailsServic…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...