# PantherFlow 데이터 형식

{% hint style="info" %}
PantherFlow는 Panther 버전 1.110부터 오픈 베타로 제공되며, 모든 고객이 사용할 수 있습니다. 버그 보고 및 기능 요청이 있으면 Panther 지원팀에 공유해 주세요.
{% endhint %}

## 정수

정수는 허용됩니다. 예를 들면:

* `1`
* `-2`

## 실수

실수는 허용됩니다. 예를 들면:

* `1.01`
* `-6.6`

## 문자열

작은따옴표 또는 큰따옴표로 묶인 문자열은 허용됩니다. 예를 들면:

* `'foo'`
* `"foo"`

유니코드 문자는 문자열에 직접 포함할 수 있습니다. 예를 들면:

* `'Panther is my favorite animal` :cat:`'`

서로 다른 유형의 따옴표는 이스케이프되지 않습니다. 예를 들면:

* `'foo and "bar"'` → `foo and "bar"`
* `"foo and 'bar'"` → `foo and 'bar'`

같은 유형의 따옴표는 백슬래시 문자로 이스케이프됩니다. 예를 들면:

* `'foo and \'bar\''` → `foo and 'bar'`
* `"foo and \"bar\""` → `foo and "bar"`

백슬래시 문자는 이스케이프해야 합니다. 예를 들면:

* `"foo\\bar"` → `foo\bar`

다른 이스케이프도 지원됩니다:

<table><thead><tr><th width="134">이스케이프</th><th width="228">설명</th><th>예시</th></tr></thead><tbody><tr><td><code>\'</code></td><td><code>'</code></td><td></td></tr><tr><td><code>\"</code></td><td><code>"</code></td><td></td></tr><tr><td><code>\\</code></td><td><code>\</code></td><td></td></tr><tr><td><code>\b</code></td><td>백스페이스 문자</td><td></td></tr><tr><td><code>\f</code></td><td>폼피드 문자</td><td></td></tr><tr><td><code>\n</code></td><td>줄 바꿈 문자</td><td></td></tr><tr><td><code>\r</code></td><td>캐리지 리턴 문자</td><td></td></tr><tr><td><code>\t</code></td><td>탭 문자</td><td></td></tr><tr><td><code>\ooo</code></td><td>8진수</td><td><code>\377</code></td></tr><tr><td><code>\xhh</code></td><td>16진수</td><td><code>\xF0\x9F\x98\x8E</code></td></tr><tr><td><code>\uhhhh</code></td><td>유니코드</td><td><code>\u5b89</code></td></tr></tbody></table>

## 부울

일반적인 불리언 값은 허용됩니다:`true` 및 `false`.

## 타임스탬프

타임스탬프는 [`time.parse_timestamp()`](https://docs.panther.com/ko/pantherflow/pages/0d2f84d8cdf80073c7a4b8cc33d14a602bf4fa72#time.parse_timestamp) 함수를 사용해 표시해야 하며, 이 함수는 문자열을 타임스탬프로 변환합니다. 예를 들면:

* `time.parse_timestamp('2023-06-01 13:14:15.00Z')`

타임스탬프는 서로 비교할 수 있습니다. 예를 들어, 다음 식은 현재 날짜와 시간이 다음보다 이후이면 true로 평가됩니다 `2024-12-11 09:46:22.00Z`:

* `time.now() > time.parse_timestamp('2024-12-11 10:42:32.00Z')`

## 기간

기간은 숫자와 단위로 구성되어야 합니다. [`time.parse_timespan()`](https://docs.panther.com/ko/pantherflow/pages/0d2f84d8cdf80073c7a4b8cc33d14a602bf4fa72#time.parse_timespan) 함수는 이 형식의 문자열을 기간으로 변환합니다. 예를 들면:

* `time.parse_timespan('1d')`
* `1d`
* `1.5s`

여러 단위가 지원됩니다:

<table><thead><tr><th width="181.5">단위</th><th>시간 길이</th></tr></thead><tbody><tr><td><code>마이크로초</code></td><td>마이크로초</td></tr><tr><td><code>ms</code></td><td>밀리초</td></tr><tr><td><code>s</code></td><td>초</td></tr><tr><td><code>m</code></td><td>분</td></tr><tr><td><code>h</code></td><td>시</td></tr><tr><td><code>d</code></td><td>일</td></tr></tbody></table>

기간은 타임스탬프와 산술적으로 사용할 수 있습니다. 예를 들면:

* `time.now() - 1d`
  * 이 식은 하루 전의 타임스탬프로 평가됩니다
* `p_event_time > time.ago(1d)`
  * 이 식은 다음 경우 true로 평가됩니다 `p_event_time` 하루 전보다 더 최근인 경우

## 객체

객체는 중괄호로 표현할 수 있습니다 `{'key': value}` 또는 다음에 값을 전달하여 [`object()`](/ko/pantherflow/functions.md#object) 함수로 만들 수 있습니다. 키는 문자열이어야 하며, 값은 어떤 유형이든 될 수 있습니다(스칼라, 배열, 객체 포함).

예를 들면:

* `{'key1': 'foo', 'key2': 1}`
* `object('key1', 'foo', 'key2', 1)`

객체 필드는 점 표기법 또는 대괄호를 사용해 접근할 수 있습니다. 예를 들면:

* `obj.key1`
* `obj['key1']`

객체에 없는 키의 값은 `null`:

* `obj['missing key'] == null`

키를 null로 설정하면 객체에서 제거됩니다:

* `obj['delete me'] = null`

## 배열

배열은 대괄호로 표현할 수 있습니다 `[A, B]`, 또는 다음에 값을 전달하여 [`array()`](/ko/pantherflow/functions.md#array) 함수로 만들 수 있습니다. 배열의 요소는 어떤 유형이든 될 수 있으며(스칼라, 배열, 객체 포함), 하나의 배열에 서로 다른 유형의 값이 함께 들어갈 수 있습니다. 예를 들면:

* `['apple', 'orange', 'banana']`
* `array('apple', 12, 'orange')`
* `['one', 1, {'flavor': 'chocolate', 'texture': 'melted'}]`

배열의 요소는 대괄호로 접근할 수 있습니다:

* `arr[1]`

배열은 다음으로 요소 포함 여부를 확인할 수 있습니다 `의` 및 `not in`에 보존됩니다. 예:

* `'foo' in myarray`
* `'foo' not in myarray`

## 테이블

테이블 이름은 대소문자를 구분하지 않습니다. 즉, 예를 들어 `tableName` 은 다음과 같습니다 `Tablename`.

## 열

열 이름은 대소문자를 구분합니다. 즉, 예를 들어 `columnName` 은 다음과 다릅니다 `ColumnName`.

## 널

Null은 다음으로 표시됩니다 `null`.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.panther.com/ko/pantherflow/data-types.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
