MySQL) 명시적 형 변환 [CAST(), CONVERT()]
본문 바로가기
카테고리 없음

MySQL) 명시적 형 변환 [CAST(), CONVERT()]

by 조훈이 2022. 1. 5.

 CAST( ), CONVERT( ) 

데이터의 명시적인 형 변환


  설명 

  데이터의 형 변환은 INT형 data를 CHAR형 data로 바꾸는 것 과 같이 data type을 변경하는 것 이다. 데이터의 형 변환은 명시적인 형 변환암시적인 형 변환으로 나뉜다.

 

  * 명시적 형 변환 : CAST( ), CONVERT( ) 등의 함수를 사용하여 data type을 직접 바꾸는 것

  * 암시적 형 변환 : 명시적으로 형 변환을 의도하는 것이 아니라 자동으로 data type이 바뀌는 것

 

CREATE TABLE data_type_change (
      score DECIMAL(4, 2)
);

INSERT INTO data_type_change VALUES
(35.23),
(52.96);

 

  실수를 입력 받는 테이블을 생성 하였다. 그리고 2개의 data를 삽입하였다. CAST( ), CONVERT( ) 를 통해 이 두 data를 정수로 출력 해 보고자 한다. CAST( ) 와 CONVERT( ) 의 사용 방식은 아래와 같다.

 

CAST (<Column_name> AS <Data_type>)
CONVERT (<Column_name>, <Data_type>)

 

  CAST( ) 와 CONVERT( ) 는 형식은 다르지만 기능적으로는 거의 같은 기능을 한다. 이 두 함수를 사용하여 2개의 data들을 정수로 출력하였다.

 

< CAST(), CONVERT() >

 

  그 결과, CAST( ) 와 CONVERT( ) 모두 실수형 data가 반올림 되어 정수로 출력이 된 것을 확인할 수 있다.


  사용 

CREATE TABLE products (
      name VARCHAR(20),
      price INT,
      amount INT
);

INSERT INTO products VALUES
('A', 4000, 12),
('B', 5500, 3),
('C', 3200, 6),
('D', 4800, 11);

  위와 같이 상품의 이름, 가격, 개수를 관리하는 테이블을 생성한 뒤 4개의 data를 추가하였다. 이를 CAST( ) 를 통해 영수증처럼 한 COLUMN 에 상품의 가격과 수량의 곱이 출력이 되게끔 구현 해 보았다.

 

< CAST를 통해 구현된 영수증 표 >

 

  

 

728x90

댓글