STADIUM 테이블에서 경기장 면적에 해당하는 AREA 컬럼 값을 정수로 출력하라.
SELECT nation_code, CAST(area AS INT) FROM stadium LIMIT 10;
실제 area 컬럼은 NUMERIC(10, 2)로 정의되었으나, CAST 함수로 인해 타입이 변환되어 정수로 출력된다.
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 타입의 경우 정의한 길이만큼 저장 공간을 사용한다.
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 을 지원한다.
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 타입에도 적용할 수 있다.
HISTORY 테이블에서 VARCHAR 타입의 SCORE 컬럼에 10000점을 더하여 숫자 형으로 출력하라.
SELECT score, TO_NUMBER(score)+10000 AS add_score FROM history WHERE unit='score' LIMIT 5;
- 강좌 URL : http://www.gurubee.net/lecture/2031
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.