> For the complete documentation index, see [llms.txt](https://docs.tibero.com/tibero-manuals/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tibero.com/tibero-manuals/7.2.6.manuals/sql-reference-guide/sql-elements/data-type-conversion.md).

# 데이터 타입 변환

데이터 타입을 명시적으로 변환하는 방법과 암시적으로 변환되는 규칙을 설명합니다.

다음은 Tibero에서 비교나 연산 등을 위해 데이터 타입을 어떻게 변환하는지 살펴봅니다. 데이터 타입 변환은 사용자가 명시적으로 수행할 수도 있고, 필요에 따라 암시적으로 이루어지기도 합니다.

## 명시적 타입 변환

사용자가 SQL 변환 함수를 직접 사용하여 타입을 변환할 수 있습니다.

다음은 타입 변환 함수 목록입니다. 행은 변환 전 타입이고, 열은 변환 후 타입입니다.

표에서 함수명은 사용할 수 있는 명시적 타입 변환 함수를 의미합니다. `X`는 변환 불가, `-`는 동일 타입을 의미합니다.

**\[표 1] 명시적 타입 변환 (1)**

| from \ to                            | CHAR, VARCHAR2, NCHAR, NVARCHAR2 | NUMBER     | 날짜, 시간 및 인터벌                                                                         |
| ------------------------------------ | -------------------------------- | ---------- | ------------------------------------------------------------------------------------ |
| **CHAR, VARCHAR2, NCHAR, NVARCHAR2** | TO\_CHAR, TO\_NCHAR              | TO\_NUMBER | TO\_DATE, TO\_TIME, TO\_TIMESTAMP, TO\_TIMESTAMP\_TZ, TO\_DSINTERVAL, TO\_YMINTERVAL |
| **NUMBER**                           | TO\_CHAR, TO\_NCHAR              | -          | NUMTOYMINTERVAL, NUMTODSINTERVAL                                                     |
| **날짜, 시간 및 인터벌**                     | TO\_CHAR, TO\_NCHAR              | X          | -                                                                                    |
| **RAW**                              | RAWTOHEX                         | X          | X                                                                                    |
| **ROWID**                            | ROWIDTOCHAR                      | X          | X                                                                                    |
| **LONG, LONG RAW**                   | LONG\_TO\_CHAR                   | X          | X                                                                                    |
| **CLOB, NCLOB, BLOB**                | TO\_CHAR, TO\_NCHAR              | X          | X                                                                                    |
| **BINARY\_FLOAT**                    | TO\_CHAR, TO\_NCHAR              | TO\_NUMBER | X                                                                                    |
| **BINARY\_DOUBLE**                   | TO\_CHAR, TO\_NCHAR              | TO\_NUMBER | X                                                                                    |
| **JSON**                             | TO\_CHAR                         | X          | X                                                                                    |

**\[표 2] 명시적 타입 변환 (2)**

| from \ to                  | BINARY\_DOUBLE     | RAW      | ROWID       | LONG, LONG RAW |
| -------------------------- | ------------------ | -------- | ----------- | -------------- |
| **CHAR, VARCHAR2, NCHAR,** | TO\_BINARY\_DOUBLE | HEXTORAW | CHARTOROWID | LONG\_TO\_CHAR |
| **NVARCHAR2**              |                    |          |             |                |
| **NUMBER**                 | TO\_BINARY\_DOUBLE | X        | X           | X              |
| **날짜, 시간 및 인터벌**           | X                  | X        | X           | X              |
| **RAW**                    | -                  | -        | X           | X              |
| **ROWID**                  | X                  | X        | -           | X              |
| **LONG, LONG RAW**         | X                  | X        | X           | -              |
| **CLOB, NCLOB, BLOB**      | X                  | X        | X           | X              |
| **BINARY\_FLOAT**          | X                  | X        | X           | X              |
| **BINARY\_DOUBLE**         | X                  | X        | X           | X              |
| **JSON**                   | X                  | X        | X           | X              |

**\[표 3] 명시적 타입 변환 (3)**

| from \ to                            | CLOB, NCLOB, BLOB | BINARY\_FLOAT     | BINARY\_DOUBLE     | JSON |
| ------------------------------------ | ----------------- | ----------------- | ------------------ | ---- |
| **CHAR, VARCHAR2, NCHAR, NVARCHAR2** | TO\_CLOB          | TO\_BINARY\_FLOAT | TO\_BINARY\_DOUBLE | X    |
| **NUMBER**                           | X                 | TO\_BINARY\_FLOAT | TO\_BINARY\_DOUBLE | X    |
| **날짜, 시간 및 인터벌**                     | X                 | X                 | X                  | X    |
| **RAW**                              | TO\_BLOB          | X                 | X                  | X    |
| **ROWID**                            | X                 | X                 | X                  | X    |
| **LONG, LONG RAW**                   | TO\_LOB           | X                 | X                  | X    |
| **CLOB, NCLOB, BLOB**                | TO\_CLOB          | X                 | X                  | X    |
| **BINARY\_FLOAT**                    | X                 | TO\_BINARY\_FLOAT | TO\_BINARY\_DOUBLE | X    |
| **BINARY\_DOUBLE**                   | X                 | TO\_BINARY\_FLOAT | TO\_BINARY\_DOUBLE | X    |
| **JSON**                             | X                 | X                 | X                  | -    |

## 암시적 타입 변환

사용자가 명시적으로 타입을 변환하지 않더라도, 필요하다면 암시적으로 타입을 변환해 줍니다.

암시적 타입 변환이 필요한 경우는 아래와 같습니다.

* 컬럼에 다른 타입의 데이터를 `INSERT`하거나 `UPDATE`하는 경우
* 조건문에서 비교하는 양쪽 값이 다른 타입인 경우

다음은 암시적 타입 변환 관계입니다. 행은 변환 전 타입이고, 열은 변환 후 타입입니다.

표에서 `O`는 암시적 변환 가능, `X`는 암시적 변환 불가, `-`는 동일 타입을 의미합니다.

**\[표 4] 암시적 타입 변환 (1)**

|                                    | NUMBER | CHAR | VARCHAR2 | RAW | DATE | TIME | TIMESTAMP |
| ---------------------------------- | ------ | ---- | -------- | --- | ---- | ---- | --------- |
| **NUMBER**                         | -      | O    | O        | X   | X    | X    | X         |
| **CHAR**                           | O      | -    | O        | O   | O    | O    | O         |
| **VARCHAR2**                       | O      | O    | -        | O   | O    | O    | O         |
| **RAW**                            | X      | O    | O        | -   | X    | X    | X         |
| **DATE**                           | X      | O    | O        | X   | -    | X    | O         |
| **TIME**                           | X      | O    | O        | X   | X    | -    | X         |
| **TIMESTAMP**                      | X      | O    | O        | X   | O    | X    | -         |
| **INTERVAL YEAR TO MONTH**         | X      | O    | O        | X   | X    | X    | X         |
| **INTERVAL DAY TO SECOND**         | X      | O    | O        | X   | X    | X    | X         |
| **LONG**                           | X      | X    | X        | X   | X    | X    | X         |
| **LONG RAW**                       | X      | X    | X        | X   | X    | X    | X         |
| **BLOB**                           | X      | X    | X        | O   | X    | X    | X         |
| **CLOB**                           | X      | O    | O        | X   | X    | X    | X         |
| **ROWID**                          | X      | O    | O        | X   | X    | X    | X         |
| **NCHAR**                          | O      | O    | O        | O   | O    | O    | O         |
| **NVARCHAR2**                      | O      | O    | O        | O   | O    | O    | O         |
| **NCLOB**                          | X      | O    | O        | X   | X    | X    | X         |
| **TIMESTAMP WITH TIME ZONE**       | X      | O    | O        | X   | O    | X    | O         |
| **TIMESTAMP WITH LOCAL TIME ZONE** | X      | O    | O        | X   | O    | X    | O         |
| **BINARY\_FLOAT**                  | O      | O    | O        | X   | X    | X    | X         |
| **BINARY\_DOUBLE**                 | O      | O    | O        | X   | X    | X    | X         |
| **JSON**                           | X      | O    | O        | X   | X    | X    | X         |

**\[표 5] 암시적 타입 변환 (2)**

|                                    | INTERVAL YEAR TO MONTH | INTERVAL DAY TO SECOND | LONG | LONG RAW | BLOB | CLOB | ROWID |
| ---------------------------------- | ---------------------- | ---------------------- | ---- | -------- | ---- | ---- | ----- |
| **NUMBER**                         | X                      | X                      | O    | X        | X    | O    | X     |
| **CHAR**                           | O                      | O                      | O    | O        | O    | O    | O     |
| **VARCHAR2**                       | O                      | O                      | O    | O        | O    | O    | O     |
| **RAW**                            | X                      | X                      | O    | O        | O    | O    | X     |
| **DATE**                           | X                      | X                      | X    | X        | X    | X    | X     |
| **TIME**                           | X                      | X                      | X    | X        | X    | X    | X     |
| **TIMESTAMP**                      | X                      | X                      | O    | X        | X    | X    | X     |
| **INTERVAL YEAR TO MONTH**         | -                      | X                      | O    | X        | X    | X    | X     |
| **INTERVAL DAY TO SECOND**         | X                      | -                      | O    | X        | X    | X    | X     |
| **LONG**                           | X                      | X                      | -    | X        | X    | X    | X     |
| **LONG RAW**                       | X                      | X                      | X    | -        | X    | X    | X     |
| **BLOB**                           | X                      | X                      | O    | X        | -    | X    | X     |
| **CLOB**                           | X                      | X                      | O    | X        | X    | -    | X     |
| **ROWID**                          | X                      | X                      | O    | X        | X    | X    | -     |
| **NCHAR**                          | O                      | O                      | O    | O        | X    | O    | O     |
| **NVARCHAR2**                      | O                      | O                      | O    | O        | X    | O    | O     |
| **NCLOB**                          | X                      | X                      | O    | X        | X    | O    | X     |
| **TIMESTAMP WITH TIME ZONE**       | X                      | X                      | O    | X        | X    | X    | X     |
| **TIMESTAMP WITH LOCAL TIME ZONE** | X                      | X                      | O    | X        | X    | X    | X     |
| **BINARY\_FLOAT**                  | X                      | X                      | O    | X        | X    | X    | X     |
| **BINARY\_DOUBLE**                 | X                      | X                      | O    | X        | X    | X    | X     |
| **JSON**                           | X                      | X                      | X    | O        | X    | O    | X     |

**\[표 6] 암시적 타입 변환 (3)**

|                             | NCHAR | NVARCHAR2 | NCLOB | TIMESTAMP WITH TIME ZONE | TIMESTAMP WITH LOCAL TIME ZONE | BINARY\_FLOAT | BINARY\_DOUBLE | JSON |
| --------------------------- | ----- | --------- | ----- | ------------------------ | ------------------------------ | ------------- | -------------- | ---- |
| **NUMBER**                  | O     | O         | X     | X                        | X                              | O             | O              | X    |
| **CHAR**                    | O     | O         | O     | O                        | O                              | O             | O              | O    |
| **VARCHAR2**                | O     | O         | O     | O                        | O                              | O             | O              | O    |
| **RAW**                     | O     | O         | X     | X                        | X                              | X             | X              | X    |
| **DATE**                    | O     | O         | X     | O                        | O                              | X             | X              | X    |
| **TIME**                    | O     | O         | X     | X                        | X                              | X             | X              | X    |
| **TIMESTAMP**               | O     | O         | X     | O                        | O                              | X             | X              | X    |
| **INTERVAL YEAR TO MONTH**  | O     | O         | X     | X                        | X                              | X             | X              | X    |
| **INTERVAL DAY TO SECOND**  | O     | O         | X     | X                        | X                              | X             | X              | X    |
| **LONG**                    | X     | X         | X     | X                        | X                              | X             | X              | X    |
| **LONG RAW**                | X     | X         | X     | X                        | X                              | X             | X              | X    |
| **BLOB**                    | X     | X         | X     | X                        | X                              | X             | X              | O    |
| **CLOB**                    | O     | O         | X     | O                        | O                              | X             | X              | O    |
| **ROWID**                   | O     | O         | X     | X                        | X                              | X             | X              | X    |
| **NCHAR**                   | -     | O         | O     | O                        | O                              | O             | O              | O    |
| **NVARCHAR2**               | O     | -         | O     | O                        | O                              | O             | O              | O    |
| **NCLOB**                   | O     | O         | -     | X                        | X                              | X             | X              | O    |
| **TIMESTAMP WITH TZ**       | O     | O         | X     | -                        | O                              | X             | X              | X    |
| **TIMESTAMP WITH LOCAL TZ** | O     | O         | X     | O                        | -                              | X             | X              | X    |
| **BINARY\_FLOAT**           | O     | O         | X     | X                        | X                              | -             | O              | X    |
| **BINARY\_DOUBLE**          | O     | O         | X     | X                        | X                              | O             | -              | X    |
| **JSON**                    | X     | X         | X     | X                        | X                              | X             | X              | -    |

### **타입 비교**

서로 다른 타입의 두 값을 비교할 때는 한쪽 값을 다른 쪽 타입으로 암시적으로 변환한 뒤 비교합니다. 이때 어느 쪽에 맞출지는 타입의 우선순위가 결정하며, 우선순위가 더 높은 타입에 맞춰 비교합니다.

* 문자형과 숫자형을 비교하면 숫자형에 맞춰 비교합니다.
* 문자형과 날짜형을 비교하면 날짜형에 맞춰 비교합니다.
* 숫자형끼리 비교할 때의 우선순위는 BINARY\_DOUBLE, BINARY\_FLOAT, NUMBER 순입니다.

숫자형 타입 사이의 우선순위와 다른 타입과의 관계는 "[데이터 타입](/tibero-manuals/7.2.6.manuals/sql-reference-guide/sql-elements/data-types.md)"의 "[숫자형 타입의 우선순위](/tibero-manuals/7.2.6.manuals/sql-reference-guide/sql-elements/data-types.md#undefined-2)"를 참고합니다.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.tibero.com/tibero-manuals/7.2.6.manuals/sql-reference-guide/sql-elements/data-type-conversion.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
