문자열로 숫자 형식화 및 구문 분석

문자열 데이터 유형과 숫자 데이터 유형 간의 변환의 경우 CAST 함수의 FORMAT 매개변수에서 선택적 형식화 표현식을 제공할 수 있습니다. 문자열 유형에서 변환하는 경우 형식화 표현식은 대상 데이터 유형을 채우기 위해 소스 문자열을 구문 분석하는 방법을 정의합니다. 문자열 유형으로 변환하는 경우 소스 표현식의 데이터를 대상 문자열에서 형식화하는 방법을 정의합니다.

다음 숫자 변환에 대해 FORMAT 표현식을 지정할 수 있습니다. (날짜/시간 변환에 대한 FORMAT 표현식 지정은 문자열로 dateTimes 형식화 및 구문 분석에서 설명됩니다.)
  • 문자열 데이터 유형(BIT, BLOB 또는 CHARACTER)에서 다음으로 지정:
    • DECIMAL
    • FLOAT
    • INTEGER
  • 이전 글머리표에 나열된 모든 숫자 데이터 유형에서 모든 문자열 데이터 유형(BIT, BLOB 또는 CHARACTER)으로 지정.
형식화 표현식은 세 개의 부분으로 구성됩니다.
  1. 양수를 정의하는 subpattern.
  2. 음수를 정의하는 선택적 subpattern. (하나의 subpattern만 정의된 경우 음수는 앞에 마이너스 부호를 붙여 양수 패턴을 사용합니다.)
  3. 선택적 매개변수 groupsepdecsep.

구문

매개변수

chars

0개 이상의 문자의 순서. 표 1에 나열된 특수 문자를 제외한 모든 문자를 사용할 수 있습니다.

decsep

전체와 10진수 부분 사이의 분리 문자로 사용할 하나 이상의 문자(10진수 분리 문자). 디폴트 10진수 분리 문자는 마침표(.)입니다.

digits

하나 이상의 숫자 토큰(0 # - + , . ) 순서 (표 1에 나열되어 있음).

groupsep

큰 숫자를 읽기 쉽도록 정수 클러스터 사이의 분리 문자로 사용할 하나 이상의 문자(그룹핑 분리 문자). 디폴트 그룹핑 분리 문자는 없습니다(즉, 숫자 그룹핑 또는 그룹 분리가 없음).

그룹핑은 주로 수천 단위로 수행되지만 패턴이나 로케일로 재정의할 수 있습니다. 두 가지의 그룹핑 크기가 있습니다.
1차 그룹핑 크기
가장 작은 정수에 사용됩니다.
2차 그룹핑 크기
기타 모든 정수에 사용됩니다.
대부분의 경우 1차 및 2차 그룹핑 크기가 동일하지만 다를 수 있습니다. 예를 들어, 사용된 패턴이 #,##,##0인 경우 1차 그룹핑 크기는 3이고 2차 그룹핑 크기는 2입니다. 숫자 123456789는 문자열 "12,34,56,789"가 됩니다.

여러 개의 그룹핑 분리 문자가 사용되는 경우(이전 예) 가장 오른쪽의 분리 문자는 1차 크기를 정의하고 오른쪽에서 두 번째의 분리 문자는 2차 크기를 정의합니다.

subpattern

서브패턴은 다음과 같이 구성됩니다.
  1. 선택적 접두부(chars)
  2. 전체 숫자를 표시하는 필수 패턴
  3. 10진수 지점을 표시하는 선택적 패턴
  4. 지수(선행 숫자가 증가하는 제곱)를 표시하는 선택적 패턴
  5. 선택적 접미부(chars)
서브패턴의 2, 3, 4 부분은 다음 테이블의 토큰으로 정의됩니다.
표 1. 숫자/문자열 변환에 사용된 형식화 서브패턴을 정의할 토큰
토큰 표시
0 선두 문자 0을 포함하는 임의의 숫자.
# 선두 문자 0을 제외하는 임의의 숫자 (이 테이블 다음의 나오는 0과 # 사이의 차이에 대한 설명 참조).
. 10진수 분리 분자.
+ 양수 접두부.
- 음수 접두부.
, 그룹핑 분리 문자.
E/e 숫자를 지수와 분리합니다.
; 서브패턴 경계.
' 작은따옴표, 특수 문자를 묶는 데 사용됩니다. 출력에 작은따옴표가 필요한 경우 두 개의 작은따옴표('')가 되어야 합니다.
* 패딩 지정자. 별표 다음의 문자는 형식 패턴의 길이에 맞게 숫자를 채우는 데 사용됩니다.

# 및 0 문자는 숫자 대체에 사용됩니다. 두 문자 사이의 차이는 # 문자는 대체할 숫자가 없는 경우 제거된다는 점입니다. 예를 들어, 패턴 #,##0.00으로 형식화된 10은 "10.00"을 제공하지만 0,000.00으로 형식화되면 "0,010.0"이 제공됩니다.

패딩 문자를 지정하려면 별표를 사용하십시오. 별표가 두 개의 chars 영역(접두부 및 접미부)에 있으면 다음에 붙는 문자는 출력을 패딩하는 데 사용됩니다. 패딩은 한 번만 지정될 수 있습니다. 예를 들어, 1234에 적용된 *x#,###,##0.00의 패턴으로 "xxx1,234.00"이 제공됩니다. 1234567에 적용하면 "1,234,567.00"이 제공됩니다.

형식화 패턴의 예

표 2. 샘플 숫자 입력에서 문자열 출력을 표시하는 형식화 패턴의 예
패턴 입력 숫자 출력 문자열
+###,##0.00;-###,###,##0.00:groupsep='':decsep=, 123456789.123 "+123'456'789,12"
##0.00 1000000 "1000000.00"
##0.00 3.14159265 "3.14"
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ak05615_