> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 시간 윈도우 함수 문서

# 시간 윈도우 함수

export const CloudNotSupportedBadge = () => {
  return <div className="cloudNotSupportedBadge">
            <div className="cloudNotSupportedIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.5" d="M6.33366 12.6666L12.3739 12.6667C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00003 12.3739 8.00003C12.3739 8.00003 12.3337 7.66659 12.0003 7.33325M10.667 5.33322C8.00033 2.33325 4.45395 4.78537 4.14195 6.68203C2.55728 6.7627 1.29395 8.06203 1.29395 9.6667C1.29395 11.3234 2.66699 12.6666 4.00033 12.6666" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.5" d="M2.66699 14L12.0003 4.66663" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>

        </div>
            ClickHouse Cloud에서 지원되지 않음
        </div>;
};

export const ExperimentalBadge = () => {
  return <div className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            실험 기능입니다. <u><a href="/docs/beta-and-experimental-features#experimental-features">자세히 알아보세요.</a></u>
        </div>;
};

시간 윈도우 함수는 해당 윈도우의 하한은 포함하고 상한은 제외한 경계를 반환합니다.
[WindowView](/ko/reference/statements/create/view#window-view) 작업에 사용되는 함수는 아래와 같습니다:

{/*AUTOGENERATED_START*/}

<div id="hop">
  ## hop
</div>

도입 버전: v21.12.0

호핑 시간 윈도우는 고정된 기간(`window_interval`)을 가지며, 지정된 홉 인터벌(`hop_interval`) 간격으로 이동합니다. `hop_interval`이 `window_interval`보다 작으면 호핑 윈도우는 서로 겹칩니다. 따라서 레코드는 여러 윈도우에 할당될 수 있습니다.

하나의 레코드가 여러 hop 윈도우에 할당될 수 있으므로, hop 함수를 WINDOW VIEW 없이 사용하면 이 함수는 첫 번째 윈도우의 경곗값만 반환합니다.

**구문**

```sql theme={null}
hop(time_attr, hop_interval, window_interval[, timezone])
```

**인수**

* `time_attr` — 날짜 및 시간입니다. [`DateTime`](/ko/reference/data-types/datetime)
* `hop_interval` — 양수 홉 인터벌입니다. [`Interval`](/ko/reference/data-types/int-uint)
* `window_interval` — 양수 윈도우 인터벌입니다. [`Interval`](/ko/reference/data-types/int-uint)
* `timezone` — 선택 사항입니다. 시간대 이름입니다. [`String`](/ko/reference/data-types/string)

**반환 값**

해당 호핑 윈도우의 하한(포함)과 상한(제외)을 반환합니다. [`Tuple(DateTime, DateTime)`](/ko/reference/data-types/tuple)

**예시**

**호핑 윈도우**

```sql title=Query theme={null}
SELECT hop(now(), INTERVAL '1' DAY, INTERVAL '2' DAY)
```

```response title=Response theme={null}
('2024-07-03 00:00:00','2024-07-05 00:00:00')
```

<div id="hopEnd">
  ## hopEnd
</div>

도입 버전: v22.1.0

해당 호핑 윈도우의 배타적 상한값을 반환합니다.

하나의 레코드는 여러 hop 윈도우에 할당될 수 있으므로, `WINDOW VIEW` 없이 hop 함수를 사용하면 이 함수는 첫 번째 윈도우의 경계만 반환합니다.

**구문**

```sql theme={null}
hopEnd(time_attr, hop_interval, window_interval[, timezone])
```

**인수**

* `time_attr` — 날짜 및 시간입니다. [`DateTime`](/ko/reference/data-types/datetime)
* `hop_interval` — 양수 홉 인터벌입니다. [`Interval`](/ko/reference/data-types/int-uint)
* `window_interval` — 양수 윈도우 인터벌입니다. [`Interval`](/ko/reference/data-types/int-uint)
* `timezone` — 선택 사항입니다. 시간대 이름입니다. [`String`](/ko/reference/data-types/string)

**반환 값**

해당 호핑 윈도우의 상한값(미포함)을 반환합니다. [`DateTime`](/ko/reference/data-types/datetime)

**예시**

**호핑 윈도우 종료**

```sql title=Query theme={null}
SELECT hopEnd(now(), INTERVAL '1' DAY, INTERVAL '2' DAY)
```

```response title=Response theme={null}
2024-07-05 00:00:00
```

<div id="hopStart">
  ## hopStart
</div>

도입 버전: v22.1.0

해당 호핑 윈도우의 하한 경계값(포함)을 반환합니다.

하나의 레코드는 여러 hop 윈도우에 할당될 수 있으므로, `WINDOW VIEW` 없이 hop 함수를 사용하면 이 함수는 첫 번째 윈도우의 경계만 반환합니다.

**구문**

```sql theme={null}
hopStart(time_attr, hop_interval, window_interval[, timezone])
```

**인수**

* `time_attr` — 날짜 및 시간입니다. [`DateTime`](/ko/reference/data-types/datetime)
* `hop_interval` — 양수 홉 인터벌입니다. [`Interval`](/ko/reference/data-types/int-uint)
* `window_interval` — 양수 윈도우 인터벌입니다. [`Interval`](/ko/reference/data-types/int-uint)
* `timezone` — 선택 사항입니다. 시간대 이름입니다. [`String`](/ko/reference/data-types/string)

**반환 값**

해당 호핑 윈도우의 하한 경계값(포함)을 반환합니다. [`DateTime`](/ko/reference/data-types/datetime)

**예시**

**Hopping window 시작점**

```sql title=Query theme={null}
SELECT hopStart(now(), INTERVAL '1' DAY, INTERVAL '2' DAY)
```

```response title=Response theme={null}
2024-07-03 00:00:00
```

<div id="tumble">
  ## tumble
</div>

도입 버전: v21.12.0

텀블링 시간 윈도우는 레코드를 고정된 기간(`interval`)의 서로 겹치지 않는 연속된 윈도우에 할당합니다.

**구문**

```sql theme={null}
tumble(time_attr, interval[, timezone])
```

**인수**

* `time_attr` — 날짜 및 시간입니다. [`DateTime`](/ko/reference/data-types/datetime)
* `interval` — 윈도우 인터벌을 나타내는 Interval입니다. [`Interval`](/ko/reference/data-types/int-uint)
* `timezone` — 선택 사항입니다. 시간대 이름입니다. [`String`](/ko/reference/data-types/string)

**반환 값**

해당 텀블링 윈도우의 하한값(포함)과 상한값(제외)을 반환합니다. [`Tuple(DateTime, DateTime)`](/ko/reference/data-types/tuple)

**예시**

**텀블링 윈도우**

```sql title=Query theme={null}
SELECT tumble(now(), toIntervalDay('1'))
```

```response title=Response theme={null}
('2024-07-04 00:00:00','2024-07-05 00:00:00')
```

<div id="tumbleEnd">
  ## tumbleEnd
</div>

도입 버전: v22.1.0

해당 텀블링 윈도우의 배타적 상한값을 반환합니다.

**구문**

```sql theme={null}
tumbleEnd(time_attr, interval[, timezone])
```

**인수**

* `time_attr` — 날짜 및 시간입니다. [`DateTime`](/ko/reference/data-types/datetime)
* `interval` — `Interval` 타입의 윈도우 인터벌입니다. [`Interval`](/ko/reference/data-types/int-uint)
* `timezone` — 선택 사항입니다. 시간대 이름입니다. [`String`](/ko/reference/data-types/string)

**반환 값**

해당 텀블링 윈도우의 상한값(미포함)을 반환합니다. [`DateTime`](/ko/reference/data-types/datetime)

**예시**

**텀블링 윈도우 종료 시점**

```sql title=Query theme={null}
SELECT tumbleEnd(now(), toIntervalDay('1'))
```

```response title=Response theme={null}
2024-07-05 00:00:00
```

<div id="tumbleStart">
  ## tumbleStart
</div>

도입 버전: v22.1.0

해당 텀블링 윈도우의 포함 하한값을 반환합니다.

**구문**

```sql theme={null}
tumbleStart(time_attr, interval[, timezone])
```

**인수**

* `time_attr` — 날짜 및 시간입니다. [`DateTime`](/ko/reference/data-types/datetime)
* `interval` — 인터벌(Interval) 타입의 윈도우 인터벌입니다. [`Interval`](/ko/reference/data-types/int-uint)
* `timezone` — 선택 사항입니다. 시간대 이름입니다. [`String`](/ko/reference/data-types/string)

**반환 값**

해당 텀블링 윈도우의 하한값(포함)을 반환합니다. [`DateTime`](/ko/reference/data-types/datetime)

**예시**

**텀블링 윈도우 시작**

```sql title=Query theme={null}
SELECT tumbleStart(now(), toIntervalDay('1'))
```

```response title=Response theme={null}
2024-07-04 00:00:00
```

<div id="windowID">
  ## windowID
</div>

도입 버전: v22.1.0

해당 텀블링 윈도우 또는 호핑 윈도우의 식별자를 반환합니다.
이 함수는 `WINDOW VIEW`에서만 사용할 수 있습니다.

**구문**

```sql theme={null}
windowID(time_attr, interval[, timezone])
```

**인수**

* `time_attr` — 날짜 및 시간입니다. [`DateTime`](/ko/reference/data-types/datetime)
* `interval` — `Interval` 단위의 윈도우 인터벌입니다. [`Interval`](/ko/reference/data-types/int-uint)
* `timezone` — 선택 사항입니다. 시간대 이름입니다. [`String`](/ko/reference/data-types/string)

**반환 값**

해당 윈도우의 식별자를 반환합니다. [`UInt32`](/ko/reference/data-types/int-uint)

**예시**

**윈도우 ID**

```sql title=Query theme={null}
SELECT windowID(now(), toIntervalDay('1'))
```

```response title=Response theme={null}
```

<div id="related-content">
  ## 관련 문서
</div>

* [시계열 활용 사례 가이드](/ko/guides/use-cases/real-time-analytics/time-series/index)
