---
source_url: https://docs.dolphindb.cn/zh/funcs/s/semiannualBegin.html
fetched_at: 2026-05-19T09:38:15Z
category: funcs
title: semiannualBegin
sha1: bc192bc8ec41a6b53881136846648ff3933efacc
---

# semiannualBegin

首发版本：3.00.4，3.00.3.1

## 语法

`semiannualBegin(X, [startingMonth=1], [offset],
[n=1])`

## 详情

返回 *X* 所在半年期的第一天。每半年包含的月份由参数 *startingMonth* 决定。

如果指定了 *offset*，表示从 *offset* 开始，结果每隔 n 个半年期更新一次。注意，*offset* 和 *n*
须同时指定，且只有当 *n* > 1 时，*offset* 才会生效。

## 参数

**X** 可以是 DATE, DATETIME, DATEHOUR, TIMESTAMP 或 NANOTIMESTAMP 类型的标量或向量。

**startingMonth** （可选参数）是 1 到 12 之间的整数，表示一年的起始月份。默认值是 1。

**offset** 是与 *X* 类型相同的标量，并且它必须小于等于 *X*
中的最小值。它是一个可选参数。如果没有指定，*offset* 默认为 *X* 中的最小值。

**n** 是一个正整数。它是一个可选参数，默认值为 1。

## 返回值

DATE 类型标量或向量。

## 例子

```dolphindb
semiannualBegin(2025.08.10);
// output: 2025.07.01

semiannualBegin(2025.10.10 10:10:10.008, 3);
// output: 2025.09.01

date=[2024.04.20,2024.05.31,2024.07.07,2024.10.24,2024.12.20,2025.01.19,2025.04.24,2025.04.28,2025.10.06,2026.01.06]
sym = take(`AAA,10)
price= 49.6 29.46 29.52 30.02 174.97 175.23 50.76 50.32 51.29 52.38
qty = 2200 1900 2100 3200 6800 5400 1300 2500 8800 4500
t1 = table(date, sym, qty, price)

select avg(price),sum(qty) from t1 group by semiannualBegin(date, 1, 2024.01.01, 2)
```

| semiannualBegin\_date | avg\_price | sum\_qty |
| --- | --- | --- |
| 2024.01.01 | 62.714 | 16,200 |
| 2025.01.01 | 81.9 | 18,000 |
| 2026.01.01 | 52.38 | 4,500 |
