타입변환 Cast / Convert
Cast함수와 Convert함수를 이용하면 기존 있던 데이터를 다른 데이터 타입으로 형변환이 가능해진다.
- CAST 함수 형식
CAST(데이터 AS 데이터 타입)
- CONVERT 함수 형식
CONVERT(데이터, 데이터 타입)
데이터 타입
BINARY | BINARY로 변환 |
CHAR | 문자열로 변환 |
DATE | yyyy-mm-dd의 date로 변환 |
DATATIME | yyyy-mm-dd hh:mm:ss의 datetime으로 변환 |
DECIMAL | 최대자리수와 소수점 이하 자릿수를 지정하여 decimal형으로 변환 |
SIGNED | 값을 부호가 있는 64비트 정수로 변환 |
UNSIGNED | 값을 부호가 없는 64비트 정수로 변환 |
TIME | 값을 hh:mm:ss의 time으로 변환 |
사용할 수 있는 데이터 타입은 위와 같다.
사용예시1
SELECT cast('444' as signed) -33;
SELECT convert('444', signed) - 33;
CAST와 CONVERT는 쓰는방식만 조금 차이가 날 뿐 나오는 결과값은 똑같다.
첫번째 예시는 문자열인 '444'인 값을 부호가 있는 정수로 변환하여 INT 값인 33의 값을 빼주는 것이다.
결과값으로는 위와 같이 나온다.
사용예시2
SELECT cast('20221226' as date);
SELECT convert('20221226', date);
두번째 예시로는 날짜가 적힌 문자열값을 DATE타입으로 형 변환한 것이다.
결과값으로는 yyyy-mm-dd의 날짜 형식으로 변환한것을 볼 수 있다.
'sql' 카테고리의 다른 글
MYSQL - transaction문 (0) | 2023.01.16 |
---|---|
MYSQL - 숫자/문자열/시간을 다루는 함수 (0) | 2023.01.16 |
MYSQL - UNION/GROUP BY/HAVING/DISTINCT (0) | 2023.01.12 |
MYSQL - 서브쿼리(Subquery) (0) | 2023.01.12 |
MYSQL - 합/평균/최대값/최솟값 (0) | 2023.01.12 |