CAST와 CONVERT 둘 다 MySQL에서 가장 일반적으로 사용되는 데이터 형식변환 명령이다.

 

이 둘은 형식만 다르지 거의 비슷한 역할을 한다.

형식 : CAST ( expression AS 데이터형식 [ (길이) ] ) CONVERT ( expression, 데이터형식 [ (길이) ] ) 
 

이런식으로 표현된다. 데이터형식중에 가능한 것들은

BINARY -- 이진 데이터 
CHAR -- 문자열 타입 
DATA -- 날짜 
DATATIME -- 날짜, 시간 동시에 
DECIMAL // 소수점 까지 
JSON // JSON 타입 SIGEND 
INTEGER // 부호 (음수,양수) 있는 정수형 
TIME // 시간 UNSIGNED INTEGER // 양수만 정수형 

등이 있다.

그럼 간단한 예제

SELECT CAST('2020-10-19 12:35:29.123' AS DATE) AS 'DATE'; -- 2020-10-19 SELECT CAST('2020-10-19 12:35:29.123' AS TIME) AS 'TIME'; -- 12:35:29.123 SELECT CAST('2020-10-19 12:35:29.123' AS DATETIME) AS 'DATETIME'; -- 2020-10-19 12:35:29.123 
 
CAST를 이용해서 각각의 타입으로 변환했다.
SELECT CAST(AVG(amount) AS SIGNED INTEGER) AS '평균 구매 개수' FROM buyTbl; SELECT CONVERT(AVG(amount), SIGNED INTEGER) AS '평균 구매 개수' FROM buyTbl; 
 
CONVERT를 사용할경우 AS 대신 , 를 사용한다 둘다 반올림해서 정수형으로 바꿔준다.

 

 

'SQL > mysql' 카테고리의 다른 글

테이블 복사 (TABLE COPY)  (0) 2017.10.03
조인 (JOIN @INNER JOIN)  (0) 2017.09.29
MySQL 내장 함수  (0) 2017.09.19
변수 (Variable)  (0) 2017.09.19
대량 Sample 데이터 생성 (INSERT INTO ... SELECT)  (0) 2017.09.19