강좌
클라우드/리눅스에 관한 강좌입니다.
데이터베이스 분류

CAST 연산자

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

sub_title_icon.gif CAST 연산자
CAST 연산자를 SELECT 문에서 어떤 값의 데이터 타입을 다른 데이터 타입으로 명시적으로 변환하는데 사용할 수 있다. 조회 리스트 또는 WHERE 절의 값 수식을 다른 데이터 타입으로 변환할 수 있다.
CUBRID에서 CAST 연산자를 사용한 명시적인 타입 변환에 대해서 정리하면 다음의 표와 같다.
Data type to cast in the coercion result
EN AN VC FC VB FB D T UT S MS SQ
EN 아니요 아니요 아니요 아니요 아니요 아니요 아니요
AN 아니요 아니요 아니요 아니요 아니요 아니요 아니요
VC 예[1] 예* 아니요 아니요 아니요
FC 예* 예* 아니요 아니요 아니요
VB 아니요 아니요 아니요 아니요 아니요 아니요 아니요 아니요
FB 아니요 아니요 아니요 아니요 아니요 아니요 아니요 아니요
D 아니요 아니요 아니요 아니요 아니요 아니요 아니요 아니요
T 아니요 아니요 아니요 아니요 아니요 아니요 아니요 아니요 아니요
UT 아니요 아니요 아니요 아니요 아니요 아니요 아니요
S 아니요 아니요 아니요 아니요 아니요 아니요 아니요 아니요 아니요
MS 아니요 아니요 아니요 아니요 아니요 아니요 아니요 아니요 아니요
SQ 아니요 아니요 아니요 아니요 아니요 아니요 아니요 아니요 아니요
[1] 이 경우에 CAST 연산은 값 수식과 변환할 데이터 타입이 같은 문자 코드 세트를 가질 경우에만 허용된다.
1) 데이터 타입 키
icon_sub02.gif EN : 정확한 수치형(INTEGER, SMALLINT, NUMERIC, DECIMAL)
icon_sub02.gif AN : 근사값 수치형(FLOAT/REAL, DOUBLE PRECISION, MONETARY)
icon_sub02.gif VC : 가변 길의 문자열(VARCHAR(n), NCHAR VARYING(n))
icon_sub02.gif FC : 고정 길의 문자열(CHAR(n), NCHAR(n))
icon_sub02.gif VB : 가변 길의 비트열(BIT VARYING(n))
icon_sub02.gif FB : 고정 길의 비트열(BIT VARYING(n))
icon_sub02.gif D : 날짜(DATE)
icon_sub02.gif T : 시간(TIME)
icon_sub02.gif UT : 타임스탬프(TIMESTAMP)
icon_sub02.gif S : 집합(SET)
icon_sub02.gif MS : 다중집합(MULTISET)
icon_sub02.gif SQ : 순차집합(LIST, SEQUENCE)
2) 구문
CAST (cast_operand AS cast_target)

cast_operand :
value expression
NULL

cast_target :
data type
icon_sub02.gif cast_operand : 다른 타입으로 변환할 값을 선언한다.
icon_sub02.gif cast_target : 변환할 타입을 지정한다.
3) 예제
icon_sub02.gif 다음은 VARCHAR로 저장되어 있는 단위가 kg인 기록을 FLOAT로 명시적으로 변환하여 반환하는 예제이다.
SELECT CAST(score AS FLOAT), unit FROM history WHERE unit = 'kg';
=== <Result of SELECT Command in Line 1> ===
cast(score as float)  unit
==========================
4.725000e+002         'kg'
3.750000e+002         'kg'
3.575000e+002         'kg'
3.250000e+002         'kg'
3.050000e+002         'kg'
3.050000e+002         'kg'
2.725000e+002         'kg'
2.750000e+002         'kg'
2.425000e+002         'kg'
2.375000e+002         'kg'
2.250000e+002         'kg'
2.100000e+002         'kg'
12 rows selected.
4) 주의사항
어떤 값 수식도 적절한 데이터 타입으로 명시적으로 변환될 수 있다. 대상 데이터 타입은 반드시 유효한 CUBRID 데이터 타입이어야 한다. CAST 변환은 같은 문자 코드 세트를 가지는 데이터 타입끼리만 허용된다. 예를 들어, 일본어 Kanji 가변 길의 문자열을 8비트 ASCII 고정 길의 문자열로 변환할 수 없다. 또한, 근사값으로 표현되는 수치형(예를 들어, FLOAT, DOUBLE)을 문자열로 변환할 때는 모든 유효 숫자를 표현할 수 있는 충분한 길이의 문자열을 입력해야 한다.

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,159 명
  • 현재 강좌수 :  36,519 개
  • 현재 접속자 :  326 명