TEXT_TO_INT_ALT - Amazon Redshift

TEXT_TO_INT_ALT

TEXT_TO_INT_ALT는 Teradata 스타일 형식을 사용하여 문자열을 정수로 변환합니다. 결과의 소수 자릿수가 잘립니다.

구문

TEXT_TO_INT_ALT (expression [ , 'format'])

인수

expression

열 이름이나 리터럴 문자열과 같이 하나 이상의 CHAR 또는 VARCHAR 값을 생성하는 표현식입니다. null 값을 변환하면 마찬가지로 null이 반환됩니다. 이 함수는 빈 문자열을 0으로 변환합니다.

format

입력 표현식의 형식을 정의하는 문자열 리터럴입니다. 지정할 수 있는 형식 지정 문자에 대한 자세한 내용은 숫자 데이터에 대한 Teradata 스타일 형식 지정 문자 섹션을 참조하세요.

반환 타입

TEXT_TO_INT_ALT는 INTEGER 값을 반환합니다.

캐스트 결과의 소수 부분이 잘립니다.

Amazon Redshift는 지정한 format 구문으로의 변환이 성공하지 못한 경우 오류를 반환합니다.

예시

다음 예에서는 입력 expression 문자열 '123-'를 정수 -123으로 변환합니다.

select text_to_int_alt('123-');
text_to_int_alt ---------- -123

다음 예에서는 입력 expression 문자열 '2147483647+'를 정수 2147483647로 변환합니다.

select text_to_int_alt('2147483647+');
text_to_int_alt ---------- 2147483647

다음 예에서는 입력 expression 문자열 '-123E-2'를 정수 -1로 변환합니다.

select text_to_int_alt('-123E-2');
text_to_int_alt ---------- -1

다음 예에서는 입력 expression 문자열 '2147483647+'를 정수 2147483647로 변환합니다.

select text_to_int_alt('2147483647+');
text_to_int_alt ---------- 2147483647

다음 예에서는 format 구문이 '999S'인 입력 expression 문자열 '123{'를 정수 1230으로 변환합니다. S 문자는 Signed Zoned Decimal을 나타냅니다. 자세한 내용은 숫자 데이터에 대한 Teradata 스타일 형식 지정 문자 단원을 참조하십시오.

select text_to_int_alt('123{', '999S');
text_to_int_alt ---------- 1230

다음 예에서는 format 구문이 'C9(I)'인 입력 expression 문자열 'USD123'을 정수 123으로 변환합니다. 숫자 데이터에 대한 Teradata 스타일 형식 지정 문자 섹션을 참조하세요.

select text_to_int_alt('USD123', 'C9(I)');
text_to_int_alt ---------- 123

다음 예에서는 테이블 열을 입력 expression으로 지정합니다.

select text_to_int_alt(a), text_to_int_alt(b) from t_text2int order by 1;
text_to_int_alt | text_to_int_alt -----------------+----------------- -123 | -123 -123 | -123 123 | 123 123 | 123

다음은 이 예에 대한 테이블 정의 및 삽입 문입니다.

create table t_text2int (a varchar(200), b char(200));
insert into t_text2int VALUES('123', '123'),('123.123', '123.123'), ('-123', '-123'), ('123-', '123-');