You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

InfluxDB查询:如何将字符串格式日期按升序排序

解决InfluxDB字符串日期按实际日期升序排列的问题

你的问题在于当前查询返回的是字符串格式的日期(DDMMYY),直接排序会遵循字符串字典序,导致日期顺序不符合实际逻辑(比如310323会排在010423之后,因为字符串比较时首字符3大于0)。要实现按实际日期升序,需要先将字符串转换为时间类型,再基于转换后的值排序。

修改后的查询语句

使用InfluxDB的to_time()函数将字符串日期转换为时间类型,再进行排序:

SELECT last("date_of_maturity") AS maturity_date
FROM "maturity_date_data"
GROUP BY "maturity"
ORDER BY to_time(maturity_date, 'DDMMYY') ASC;

或者你也可以显式解析出时间字段,方便查看和排序:

SELECT 
  last("date_of_maturity") AS maturity_date,
  to_time(last("date_of_maturity"), 'DDMMYY') AS parsed_maturity_date
FROM "maturity_date_data"
GROUP BY "maturity"
ORDER BY parsed_maturity_date ASC;

说明

  • to_time()函数接受两个参数:待转换的字符串字段,以及字符串对应的日期格式(这里是DDMMYY,表示日-月-两位年份)。
  • 转换为时间类型后,ORDER BY会按照实际的日期先后顺序排序,最终结果会是:
    310323
    010423
    020423
    070423
    140423
    280423
    260523
    300623
    290923
    291223
    

内容的提问来源于stack exchange,提问作者Madan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 13:43:14