---
source_url: https://docs.dolphindb.cn/zh/funcs/m/move.html
fetched_at: 2026-05-19T09:32:23Z
category: funcs
title: move
sha1: c55e023abf47ff3fbfc4e19d0534a80e2c90def8
---

# move

## 语法

`move(X, steps)`

## 详情

将 *X* 向左或向右移动一个位置。该函数是 [prev](../p/prev.html) 和 [next](../n/next.html) 的通用形式。

## 参数

**X** 可以是向量、矩阵或表；

**steps** 是一个整数或一个 [duration](../d/duration.html)，表示移动多少位置或多少时间。

- 如果 *steps* 为正数，*X* 向右移动 *steps* 个位置；
- 如果 *steps* 为负数，*X* 向左移动 *steps* 个位置；
- 如果 *steps* 为 0，不改变 *X* 的位置；
- 如果 *steps* 为 DURATION，对应的 *X*
  必须是行索引为时间类型的索引矩阵或者索引序列。对于每个时间点 Ti，设其对应值为
  Xi，移动后的结果按如下规则确定：在时间轴上查找时间点 Ti - *steps*
  对应的值，并将该值赋给当前位置。

  - 若存在时间点等于Ti - *steps*，则取该时间点对应的值；
  - 若不存在时间等于 Ti - *steps*，取时间上不晚于 Ti - steps
    的最大时间点对应的数据；
  - 若不存在满足条件的时间点，则结果为 NULL。

## 返回值

返回一个与输入 *X* 相同数据类型和形式的对象。

## 例子

```dolphindb
x=3 9 5 1 4 9;
move(x,3);
// output: [,,,3,9,5]

move(x,-2);
// output: [5,1,4,9,,]

index = (second(08:20:00)+1..4) join 08:21:01 join 08:21:02
x = index.indexedSeries(x)
move(x,3s)
```

| label | col1 |
| --- | --- |
| 08:20:01 |  |
| 08:20:02 |  |
| 08:20:03 |  |
| 08:20:04 | 3 |
| 08:21:01 | 1 |
| 08:21:02 | 1 |

```dolphindb
move(x,1m)
```

| label | col1 |
| --- | --- |
| 08:20:01 |  |
| 08:20:02 |  |
| 08:20:03 |  |
| 08:20:04 |  |
| 08:21:01 | 3 |
| 08:21:02 | 9 |
