IBM FileNet P8, 버전 5.2.1            

데이터 유형 변환 함수

이 절에는 하나의 데이터 유형에서 다른 데이터 유형으로 표현식을 변환하는 함수에 대한 간략한 설명이 포함되어 있습니다.

표 1. 하나의 데이터 유형을 다른 유형으로 변환하는 함수의 표
함수 기능
convert 하나의 지원되는 데이터 유형에서 다른 데이터 유형으로 표현식을 변환합니다.
numbertostring 지정된 마스크를 사용하여 정수식 또는 부동 소수점 표현식을 문자열 표현식으로 변환합니다.
stringtotime 지정된 마스크를 사용하여 문자열 표현식을 시간 표현식으로 변환합니다.
timetostring 지정된 마스크를 사용하여 시간 표현식을 문자열 표현식으로 변환합니다.
is_valid 지정된 표현식이 지정된 단순 데이터 유형으로 변환될 수 있는 유효한 값인지 여부를 판별합니다.

convert

이 함수는 하나의 지원되는 데이터 유형에서 다른 데이터 유형으로 표현식을 변환합니다. 다음 구문을 사용하십시오.
convert (source_expr, type_name)
각 항목에 대한 설명은 다음과 같습니다.
표 2. convert 함수의 매개변수 및 설명
매개변수 설명
source_expr 지원되는 데이터 유형의 표현식입니다. 이 표현식은 type_name에 지정된 데이터 유형으로 변환됩니다.
type_name

source_expr이 변환된 데이터 유형입니다. 유효한 항목은 float, float[ ], integer, integer[ ], string, string[], Boolean, Boolean[ ], time 및 time[ ]입니다.

type_name 뒤에 대괄호([ ])가 오면 source_expr도 배열이어야 합니다. 배열의 각 요소는 단순 데이터 유형에 대해 적용되는 규칙에 따라 type_name으로 변환됩니다.

convert 함수의 결과는 source_exp 및 type_name의 데이터 유형에 따라 다릅니다.

참고: 특정 데이터 유형 조합에 convert 함수를 사용하면 구문 오류가 발생합니다. 예를 들어, 시간 데이터 유형을 부울 데이터 유형으로 변환하는 것은 논리적이지 않으므로 구문 오류가 발생합니다. 필요에 따라 표현식을 convert 함수에 사용하기 전에 is_valid 함수를 사용하여 해당 표현식의 유형을 확인하십시오.

부울에서 변환

source_expr이 부울 유형인 경우, convert 함수의 결과는 다음과 같습니다.

표 3. 데이터 유형이 부울 유형일 때의 convert 함수 결과
부울에서 다음으로 변환... 결과
Boolean 변경되지 않습니다.
float 부울 표현식이 true인 경우 결과는 1이고 부울 표현식이 false인 경우 결과는 0입니다.
integer 부울 표현식이 true인 경우 결과는 1이고 부울 표현식이 false인 경우 결과는 0입니다.
string 부울 표현식이 true인 경우 결과는 "true"이고, 부울 표현식이 false인 경우 결과는 "false"입니다.
time 구문 오류가 발생합니다.

부동 소수점에서 변환

source_expr이 부동 소수점 유형인 경우, convert 함수의 결과는 다음과 같습니다.

표 4. 데이터 유형이 부동 소수점 유형일 때의 convert 함수 결과
부동 소수점에서 다음으로 변환... 결과
Boolean

source_expr = 0인 경우 결과는 false이고 source_expr = 1인 경우 결과는 true입니다.

source_expr <> 0 또는 1인 경우 구문 오류가 발생합니다.

float 변경되지 않습니다.
integer source_expr의 정수 파트를 변환합니다(즉, 소수점 오른쪽에 있는 모든 수를 자름). 결과가 정수 범위 내에 있지 않은 경우 오류가 발생합니다.
string 부동 소수점을 표시하는 숫자 문자의 문자열을 결과로 생성합니다.
time

source_expr의 정수 파트를 초 수로 사용하여 1/1/1970 00:00:00 협정 세계시(UTC)에 추가합니다. 새 값을 리턴합니다.

이전에는 그리니치 표준시(GMT)로 알려진 협정 세계시(UTC)가 세계 표준 참조 시간대입니다.

예를 들어, convert (5.3, time)는 1/1/1970 00:00:05를 리턴합니다.

정수에서 변환

source_expr이 정수 유형인 경우, convert 함수의 결과는 다음과 같습니다.
표 5. 데이터 유형이 정수 유형일 때의 convert 함수 결과
정수에서 다음으로 변환... 결과
Boolean

source_expr = 0인 경우 결과는 false이고 source_expr = 1인 경우 결과는 true입니다.

source_expr <> 0 또는 1인 경우 구문 오류가 발생합니다.

float 동등한 부동 소수점 값을 결과로 생성합니다.
integer 변경되지 않습니다.
string 정수를 표시하는 숫자 문자의 문자열을 결과로 생성합니다.
time

source_expr을 초 수로 사용하여 1/1/1970 00:00:00 협정 세계시(UTC)에 추가합니다. 새 값을 리턴합니다.

예를 들어, convert (5, time)는 1/1/1970 00:00:05를 리턴합니다.

문자열에서 변환

source_expr이 문자열 유형인 경우, convert 함수의 결과는 다음과 같습니다.

표 6. 데이터 유형이 문자열 유형일 때의 convert 함수 결과
문자열에서 다음으로 변환... 결과
Boolean source_expr = "true" 또는 source_expr = "false"가 아닌 경우 구문 오류가 발생합니다. (모든 대소문자 조합은 승인 가능합니다.)
float source_expr이 적당한 부동 소수점 값 표현이 아닌 경우 구문 오류가 발생합니다.
integer source_expr이 적당한 정수 값 표현이 아닌 경우 구문 오류가 발생합니다.
string 변경되지 않습니다.
time

source_expr이 적당한 시간 값 표현이고 워크플로우 시스템의 날짜/시간 마스크에 지정된 형식을 사용하는 경우 외에는 구문 오류가 발생합니다.

시간에서 변환

source_expr이 시간 유형인 경우, convert 함수의 결과는 다음과 같습니다.

표 7. 데이터 유형이 시간 유형일 때의 convert 함수 결과
시간에서 다음으로 변환... 결과
Boolean 구문 오류가 발생합니다.
float

현재 시스템 시간과 1/1/1970 00:00:00 협정 세계시(UTC) 사이의 시간(초)을 리턴합니다.

예를 들어, SysTime = 1/1/1970 00:00:28 UTC인 경우, convert (SysTime, float)는 28을 리턴합니다.

현재 시스템 시간이 UTC 이외의 시간대로 설정된 경우 convert 함수는 필요한 값을 조정합니다. 예를 들어, 태평양 표준시(PST)와 UTC 사이에는 8시간 차이가 있습니다. SysTime = 1/1/1970 00:00:28 PST이고 로컬 시간대가 PST인 경우, convert(SysTime, float)는 28828.0을 리턴합니다.

8(시간) * 60(분) *60(초) + 28(초)

integer

현재 시스템 시간과 1/1/1970 00:00:00 협정 세계시(UTC) 사이의 시간(초)을 리턴합니다.

예를 들어, SysTime = 1/1/1970 00:00:28 UTC인 경우, convert (SysTime, integer)는 28을 리턴합니다.

현재 시스템 시간이 UTC 이외의 시간대로 설정된 경우 convert 함수는 필요한 값을 조정합니다. 예를 들어, PST와 UTC 사이에는 8시간 차이가 있습니다. SysTime = 1/1/1970 00:00:28 PST이고 로컬 시간대가 태평양 표준시인 경우, convert(SysTime, integer)는 28828을 리턴합니다.

8(시간) * 60(분) *60(초) + 28(초)

string

source_expr의 문자열 표현을 결과로 생성합니다. 이 문자열은 워크플로우 시스템의 날짜/시간 마스크에 지정된 형식을 사용합니다.

time 변경되지 않습니다.

numbertostring

이 함수는 지정된 형식을 사용하여 부동 소수점 표현식 또는 정수식을 문자열 표현식으로 변환합니다. 숫자를 특정 형식(예: $1,000,000)으로 표시하려는 경우에 이 함수를 사용하십시오. 또한 numbertostring 함수를 사용하여 숫자 반올림을 수행할 수 있습니다.

다음 구문을 사용하십시오.
numbertostring (num_exp{, num_mask}opt)
각 항목에 대한 설명은 다음과 같습니다.
매개변수 설명
num_exp 부동 소수점 유형 또는 정수 유형의 표현식입니다.
num_mask

numbertostring 함수의 출력 형식을 결정하는 숫자 마스크입니다.

선택적이지만 숫자 마스크를 입력하지 않는 경우 numbertostring 함수는 convert 함수와 동등합니다.

숫자 마스크

숫자 마스크는 numbertostring 함수의 출력을 형식화하는 데 사용되는 템플리트입니다. 숫자 마스크는 다음 컴포넌트의 모든 유효한 조합을 포함하는 문자열 표현식입니다.

컴포넌트 의미
+(더하기)

마스크의 첫 번째 또는 마지막 컴포넌트인 경우, 수의 부호입니다.

첫 번째 또는 마지막 이외의 위치에 있는 경우, 더하기 부호는 마스크에 삽입된 위치 그대로 출력 문자열에 삽입됩니다. 예를 들면 다음과 같습니다.

numbertostring (12345, "###+##")

이 구문은 123+45를 출력합니다.

-(빼기)

마스크의 첫 번째 또는 마지막 컴포넌트인 경우, 수가 음수이면 음의 부호를 표시하고 수가 양수이면 공백을 표시합니다.

첫 번째 또는 마지막 이외의 위치에 있는 경우, 빼기 부호는 마스크에 삽입된 위치 그대로 출력 문자열에 삽입됩니다. 예를 들면 다음과 같습니다.

numbertostring (123456789, "###-##-####")

이 구문은 123-45-6789를 출력합니다.

#(번호 부호) 유효한 경우 숫자를 표시합니다. 마스크에 유효 숫자보다 많은 #가 포함된 경우, 맨 오른쪽 #가 먼저 숫자를 수신하며 초과 #는 공백으로 채워집니다.
0(영) 유효 숫자 여부에 관계없이 숫자를 표시합니다. 결과로 선행 제로와 후미 제로가 모두 생성할 수 있습니다.
. (소수점) 소수점의 이동 위치를 결정합니다. 지정되지 않은 경우, 소수점은 마스크 오른쪽 끝에 있는 것으로 가정됩니다. 숫자는 마스크에 적합하게 반올림됩니다. 마스크에는 하나의 소수점만 허용됩니다.

숫자 마스크 샘플

numbertostring 함수가 0, +29, -3344 및 77.88369를 변환할 때 결과 출력은 다음과 같습니다. 출력은 표시된 숫자 마스크에 따라 형식화됩니다.

참고: 숫자에 대해 마스크가 너무 작은 경우, 오류가 발생합니다. 소수점의 왼쪽에 # 또는 0이 너무 적게 있는 경우에는 마스크가 너무 작습니다. 예를 들어, ## 마스크는 300이라는 숫자에 적합하지 않습니다.
마스크 0 +29 -3344 77.88369
0000 0000 0029 3344 0078
####   29 3344 78
$#,### $ $29 $3,344 $78
+#### + +29 -3344 +78
-####   29 -3344 78
####+ + 29+ 3344- 78+
####- 29 3344- 78
##.## . 29. 런타임 오류 77.88

숫자 반올림

숫자를 반올림하려면 numbertostring 함수 및 적당한 숫자 마스크를 사용하십시오. 각 숫자는 마스크에서 마지막 위치에 적합하게 반올림됩니다. 다음 예제는 숫자를 1/1000 자릿수로 반올림합니다. 예제에서 Number1은 float 유형 표현식의 이름입니다.
numbertostring (Number1, "#,###.###")
Number1 = 3344.7788인 경우, 결과 출력은 다음과 같습니다.
3,344.779

is_valid

이 함수는 지정된 표현식이 지정된 단순 데이터 유형으로 변환될 수 있는 유효한 값인지 여부를 판별합니다. 이 함수는 표현식이 유효한 경우에는 true 부울 값을 리턴하고 그렇지 않은 경우에는 false 값을 리턴합니다. convert 함수에 표현식을 사용하기 전에 is_valid 함수를 통해 해당 표현식의 유형을 확인하는 것이 유용합니다. 다음 구문을 사용하십시오.
is_valid (expr, type)
각 항목에 대한 설명은 다음과 같습니다.
표 8. is_valid 함수의 매개변수 및 설명
매개변수 설명
expr 모든 표현식
type 단순 데이터 유형(Boolean, float, integer, string, time)
다음은 문자열 표현식을 사용하는 두 가지 예제입니다. 첫 번째 예제는 true를 리턴하고 두 번째 예제는 false를 리턴합니다. 첫 번째 예제에서 str = "true"입니다.
is_valid (str, Boolean)
is_valid ("1.2.3", float)
아래 예제는 지정된 부동 소수점 표현식이 integer 유형으로의 변환에 유효한지 여부를 확인합니다. 이 예제는 부동 소수점 값이 유효한 정수 값 범위 밖에 있으므로 false를 리턴합니다.
is_valid (1e20, integer)


마지막 업데이트 날짜: 2015년 10월
bpfe005.htm

© Copyright IBM Corp. 2015.