카테고리:

변환 함수

TO_CHAR , TO_VARCHAR

입력 식을 문자열로 변환합니다. NULL 입력의 경우, 출력은 NULL입니다.

이러한 함수는 동의어입니다.

구문

TO_CHAR( <expr> )
TO_CHAR( <numeric_expr> [, '<format>' ] )
TO_CHAR( <date_or_time_expr> [, '<format>' ] )
TO_CHAR( <binary_expr> [, '<format>' ] )

TO_VARCHAR( <expr> )
TO_VARCHAR( <numeric_expr> [, '<format>' ] )
TO_VARCHAR( <date_or_time_expr> [, '<format>' ] )
TO_VARCHAR( <binary_expr> [, '<format>' ] )
Copy

인자

필수:

expr

모든 데이터 타입의 식입니다.

numeric_expr

숫자 식입니다.

date_or_time_expr

DATE, TIME 또는 TIMESTAMP 형식의 식입니다.

binary_expr

BINARY 또는 VARBINARY 형식의 식입니다.

선택 사항:

format

출력 문자열의 형식입니다.

  • numeric_expr 의 경우, 숫자 식을 해석하는 데 사용되는 SQL 형식 모델을 지정합니다. 자세한 내용은 SQL 형식 모델 섹션을 참조하십시오.

  • date_or_time_expr 의 경우, 문자열을 구문 분석하거나 생성할 예상 형식을 지정합니다. 자세한 내용은 변환 함수의 날짜 및 시간 형식 섹션을 참조하십시오.

    기본값은 다음 세션 매개 변수의 현재 값입니다.

  • binary_expr 의 경우, 문자열을 생성하는 형식을 지정합니다(예: 〈HEX〉, 〈BASE64〉 또는 〈UTF-8〉).

    자세한 내용은 Overview of Supported Binary Formats 섹션을 참조하십시오.

사용법 노트

  • VARIANT, ARRAY 또는 OBJECT 입력의 경우, 출력은 JSON 문서 또는 JSON 기본 값을 포함하는 문자열입니다(VARIANT 또는 OBJECT에 XML 태그가 포함된 경우는 제외. 이 경우, 출력은 XML 문서가 포함된 문자열임).

    • VARIANT에 저장된 문자열은 그대로 유지됩니다(즉, JSON 문자열로 변환되지 않음).

    • JSON null 값은 《null》이라는 단어가 포함된 문자열로 변환됩니다.

select to_varchar('2013-04-05 01:02:03'::timestamp, 'mm/dd/yyyy, hh24:mi hours');

+---------------------------------------------------------------------------+
| TO_VARCHAR('2013-04-05 01:02:03'::TIMESTAMP, 'MM/DD/YYYY, HH24:MI HOURS') |
|---------------------------------------------------------------------------|
| 04/05/2013, 01:02 hours                                                   |
+---------------------------------------------------------------------------+
Copy
select to_varchar('03-May-2013'::date);

+---------------------------------+
| TO_VARCHAR('03-MAY-2013'::DATE) |
|---------------------------------|
| 2013-05-03                      |
+---------------------------------+
Copy
select to_varchar('03-May-2013'::date, 'yyyy.mm.dd');

+-----------------------------------------------+
| TO_VARCHAR('03-MAY-2013'::DATE, 'YYYY.MM.DD') |
|-----------------------------------------------|
| 2013.05.03                                    |
+-----------------------------------------------+
Copy
select to_varchar(log(3,4));

+----------------------+
| TO_VARCHAR(LOG(3,4)) |
|----------------------|
| 1.261859507          |
+----------------------+
Copy
select column1 as orig_value,
   to_char(column1, '">"$99.0"<"') as D2_1,
   to_char(column1, '">"B9,999.0"<"') as D4_1,
   to_char(column1, '">"TME"<"') as TME,
   to_char(column1, '">"TM9"<"') as TM9,
   to_char(column1, '">"0XXX"<"') as X4,
   to_char(column1, '">"S0XXX"<"') as SX4
from values (-12.391), (0), (-1), (0.10), (0.01), (3987), (1.111);

+------------+----------+------------+-------------+------------+--------+---------+
| ORIG_VALUE | D2_1     | D4_1       | TME         | TM9        | X4     | SX4     |
|------------+----------+------------+-------------+------------+--------+---------|
|    -12.391 | >-$12.4< | >   -12.4< | >-1.2391E1< | >-12.391<  | >FFF4< | >-000C< |
|      0.000 | >  $0.0< | >      .0< | >0E0<       | >0.000<    | >0000< | >+0000< |
|     -1.000 | > -$1.0< | >    -1.0< | >-1E0<      | >-1.000<   | >FFFF< | >-0001< |
|      0.100 | >  $0.1< | >      .1< | >1E-1<      | >0.100<    | >0000< | >+0000< |
|      0.010 | >  $0.0< | >      .0< | >1E-2<      | >0.010<    | >0000< | >+0000< |
|   3987.000 | > $##.#< | > 3,987.0< | >3.987E3<   | >3987.000< | >0F93< | >+0F93< |
|      1.111 | >  $1.1< | >     1.1< | >1.111E0<   | >1.111<    | >0001< | >+0001< |
+------------+----------+------------+-------------+------------+--------+---------+
Copy