How to Perform Batch Timestamp Offset Operations in Apache IoTDB?
03:21 19 Nov 2025

I have time-series data stored in Apache IoTDB 2.0.5 and need to perform a batch offset operation on the timestamps for the entire dataset. For example, I want to shift all data points' timestamps forward by 1 minute.

Original Query (No Offset):

  select temperature from `root.ln.wf01.wd01`
  +-----------------------------+-----------------------------+
  | `Time`|`root.ln.wf01.wd01.temperature`|
  +-----------------------------+-----------------------------+
  |2025-10-21T16:19:44.298+08:00| 10.6|
  +-----------------------------+-----------------------------+

First I tried : offset by 1 minute

  select (`time` - 1m) as newtime, temperature from `root.ln.wf01.wd01`

Result (No Change):

  +-----------------------------+-----------------------------+
  | `Time`|`root.ln.wf01.wd01.temperature`|
  +-----------------------------+-----------------------------+
  |2025-10-21T16:19:44.298+08:00| 10.6|
  +-----------------------------+-----------------------------+

And then I tried : directly assign offset result to time column, but I got an error.

  select (`time` - 1m) as `Time`, temperature from `root.ln.wf01.wd01`
  Msg: org.apache.iotdb.jdbc.IoTDBSQLException: 700: Error occurred while parsing SQL to physical plan: line 1:22 no viable alternative at input 'select (`time` - 1m) as `Time`'

What I desired Result:

  +-----------------------------+-----------------------------+
  | `Time`|`root.ln.wf01.wd01.temperature`|
  +-----------------------------+-----------------------------+
  |2025-10-21T16:18:44.298+08:00| 10.6| *-- 原16:19:44,提前1分钟*
  +-----------------------------+-----------------------------+

How should I modify the SQL query to achieve this timestamp offset?

apache-iotdb