CUBRID 2008 R4.1 기초강좌
데이터 타입 변환 함수 0 0 57,467

by 큐브리드 CAST CHAR_LENGTH TO_DATE TO_CHAR TO_NUMBER [2009.03.25]


예제1

  STADIUM 테이블에서 경기장 면적에 해당하는 AREA 컬럼 값을 정수로 출력하라.

SELECT nation_code, CAST(area AS INT) 
  FROM stadium LIMIT 10; 

  실제 area 컬럼은 NUMERIC(10, 2)로 정의되었으나, CAST 함수로 인해 타입이 변환되어 정수로 출력된다.

예제2

  CAST 함수를 이용하면 VARCHAR와 CHAR의 차이를 확인해 볼 수 있다. 아래의 SQL문과 결과 테이블을 참고하라.

SELECT CHAR_LENGTH(CAST('큐브리드' AS CHAR(15))) AS "CAST_CHAR", 
       CHAR_LENGTH(CAST('큐브리드' AS VARCHAR(15))) AS "CAST_VARCHAR" ; 

  UTF-8에서 한글 1글자는 3바이트를 사용하므로, 문자열 '큐브리드'는 12바이트를 사용한다. VARCHAR타입의 경우, 실제 문자열 길이만큼만 저장 공간을 사용하며, CHAR 타입의 경우 정의한 길이만큼 저장 공간을 사용한다.

예제3

  OLYMPIC 테이블의 OPENING_DATE(개최일)을 다양한 유형의 날짜로 조회하라.

SELECT TO_DATE('2007-08-09', 'YYYY-MM-DD') AS "DATE1", 
       TO_DATE('AUG/09/2007', 'MON/DD/YYYY', 'En_US') AS "DATE2", 
       TO_DATE('20120809', 'YYYYMMDD') AS "DATE3" ; 
       
또는

SELECT TO_DATETIME('10:15:20 2009/06/15', 'HH:MI:SS YYYY/MM/DD') AS “DATETIME1”;

  TO_DATE, TO_TIMESTAMP 및 TO_DATETIME은 문자열을 주어진 포맷에 맞게 해석하여 날짜 형 데이터로 변환하는 함수이다.

  응용 프로그램에서 입력 받은 문자열을 CUBRID 시간/날짜 타입 컬럼에 저장할 때 사용한다. 반대로 시간/날짜 데이터를 주어진 포맷에 맞게 변환하여 문자열로 출력하는 함수는 TO_CHAR, DATE_FORMAT, TIME_FORMAT 을 지원한다.

예제4

  OLYMPIC 테이블의 OPENING_DATE(개최일)을 다양한 유형의 날짜로 조회하라.

SELECT opening_date,
       TO_CHAR(opening_date, 'YYYYMMDD') AS "YYYYMMDD", 
       TO_CHAR(opening_date, 'YYYY-MON') AS "YYYY-MON", 
       TO_CHAR(opening_date, 'MM"월" DD"일" "("DY")"', 'Ko_KR') AS "MM월 DD일 (DY)"
  FROM olympic LIMIT 5;

  TO_CHAR 함수는 TO_DATE 함수와 반대로 날짜 데이터 타입을 문자열로 바꾸는 기능을 제공한다.

  기본적으로 날짜 및 시간에 붙여 쓰는 구분자 { -, /, ', ., ;, : } 외의 기호를 구분자로 사용하려면 네 번째 컬럼과 같이 이중따옴표(")로 감싸주어야 한다. TO_CHAR 함수는 DATE형 뿐만 아니라, TIME, TIMESTAMP 타입에도 적용할 수 있다.

예제5

  HISTORY 테이블에서 VARCHAR 타입의 SCORE 컬럼에 10000점을 더하여 숫자 형으로 출력하라.

SELECT score, TO_NUMBER(score)+10000  AS add_score
  FROM history 
 WHERE unit='score' 
 LIMIT 5; 

참고사이트

  - http://www.cubrid.com/zbxe/home

- 강좌 URL : http://www.gurubee.net/lecture/2031

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입