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

这篇具有很好参考价值的文章主要介绍了TDengine函数大全-时间和日期函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

以下所有示例基于 TDengine 3.1.0.3

TDengine函数大全

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

NOW
NOW()

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

返回结果数据类型:TIMESTAMP。

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

适用于:表和超级表。

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

使用说明

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

示例:文章来源地址https://www.toymoban.com/news/detail-687512.html

> 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函数大全-时间和日期函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • TDengine时序数据库java连接代码

    spring:         datasource:                 tdengine:                     lazy: true                     driverClassName: com.taosdata.jdbc.rs.RestfulDriver                     url: jdbc:TAOS-RS://127.0.0.1:6041/zjrecharge?timezone=UTC-8charset=utf-8                  

    2024年01月20日
    浏览(31)
  • TDengine函数大全-聚合函数

    以下内容来自 TDengine 官方文档 及 GitHub 内容 。 以下所有示例基于 TDengine 3.1.0.3 1.数学函数 2.字符串函数 3.转换函数 4.时间和日期函数 5.聚合函数 6.选择函数 7.时序数据库特有函数 8.系统函数 APERCENTILE 功能说明 :统计表/超级表中指定列的值的近似百分比分位数,与 PERCENTIL

    2024年02月10日
    浏览(35)
  • TDengine函数大全-选择函数

    以下内容来自 TDengine 官方文档 及 GitHub 内容 。 以下所有示例基于 TDengine 3.1.0.3 1.数学函数 2.字符串函数 3.转换函数 4.时间和日期函数 5.聚合函数 6.选择函数 7.时序数据库特有函数 8.系统函数 BOTTOM 功能说明 :统计表/超级表中某列的值最小 k 个非 NULL 值。如果多条数据取值一

    2024年02月10日
    浏览(37)
  • Tdengine 时序数据库-安装与客户端连接

    使用 TDengine 时序数据库的版本是 2.4.0.0 使用的安装RPM的安装方便安装 TDengine-server-2.4.0.0-Linux-x64.rpm 1. 安装指令:  rpm -ivh TDengine-server-2.4.0.0-Linux-x64.rpm  2. 启停服务和查看状态 systemctl start taosd systemctl stop taosd systemctl restart taosd systemctl status taosd 3.修改密码 直接输入taos 就可以直

    2024年02月12日
    浏览(35)
  • TDengine函数大全-目录

    详情见具体页面,点击进入。 1.数学函数 ABS ACOS ASIN ATAN CEIL COS FLOOR LOG POW ROUND SIN SQRT TAN 2.字符串函数 CHAR_LENGTH CONCAT CONCAT_WS LENGTH LOWER LTRIM RTRIM SUBSTR UPPER 3.转换函数 CAST TO_ISO8601 TO_UNIXTIMESTAMP TO_JSON 4.时间和日期函数 NOW TIMEDIFF TIMETRUNCATE TIMEZONE TODAY 5.聚合函数 APERCENTILE AVG COUNT E

    2024年02月10日
    浏览(31)
  • mac操作系统 java 调用tdengine时序数据库

    sudo ln -s /usr/local/lib/libtaos.1.dylib /Users/ admin /Library/Java/Extensions/libtaos.1.dylib admin 为你自己用户目录 即可正常使用

    2024年02月12日
    浏览(46)
  • 时序数据库 TDengine 与 WhaleStudio 完成相互兼容性测试认证

    近年来,开源及其价值获得社会各界的广泛认可,无论是国家政策导向还是企业数字化转型,都在加速拥抱开源。对于如操作系统、数据库等基础软件来说,开源更是成为驱动技术创新的有力途径。 在此背景下,近日,涛思数据自主研发的时序数据库(Time Series Database)TDe

    2024年02月14日
    浏览(41)
  • 时序数据库 TDengine 与腾讯云多个产品线完成兼容性互认证明

    随着数字经济蓬勃发展,数据成为驱动企业数字化转型的关键生产要素,如何加强对数据资源的治理利用、实现数据洞察、激活数据价值正成为亟待解决的问题。在此背景下,数据库与操作系统、云平台等国产化软件相互结合赋能成为解决问题的思路之一。 近日,经过数月努

    2024年02月11日
    浏览(41)
  • 打破数据孤岛!时序数据库 TDengine 与创意物联感知平台完成兼容性互认

    新型物联网实现良好建设的第一要务就是打破信息孤岛,将数据汇聚在平台统一处理,实现数据共享,放大物联终端的行业价值,实现系统开放性,以此营造丰富的行业应用环境。在此背景下,物联感知平台应运而生,成为推动智慧城市建设,强化物联网感知设施跨行业、跨

    2024年02月11日
    浏览(33)
  • 帆软报表 FineReport连接时序库 Elasticsearch(es),tdengine(涛思)

    这篇文章是本人在开发帆软报表所经历的踩坑以及解决的方案,回想起来由于网上没有太多的相关信息,在fr社区提问也没有太好的解决方案,解决起来也蛮坎坷的,但最后还是搞了下来,顺便整理一下发布出来,希望能给小伙伴们点帮助, 如要参考请全篇看完,有注意事项

    2024年02月05日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包