1. 명시적인 형 변환
명시적 형 변환은 사용자가 직접 값을 원하는 데이터 타입으로 변환하는 방식이다. MySQL에서는 CAST() 또는 CONVERT() 함수를 사용하여 값을 정확히 어떤 타입으로 변환할지 명시적으로 지정할 수 있다.
변환 가능한 데이터 형식
SIGNED INTEGER, UNSIGNED INTEGER, BINERY, CHAR, DATE, TIME, DATETIME, DECIMAL, JSON
1-1. CAST(SQL 표준)
CAST(expression AS 데이터 형식) -- 기본 형식
SELECT CAST('1988-08-18' AS DATE); -- 문자 '1988-08-18'을 날짜로 변환
1-2. CONVERT(MySQL 고유의 함수)
CONVERT(expression, 데이터 형식) -- 기본 형식
SELECT CONVERT(123, CHAR); -- 정수 '123'을 문자로 변환
2. 암시적인 형 변환
암시적 형 변환은 MySQL이 자동으로 값을 변환하는 방식이다. 이 경우 사용자가 직접 형 변환을 명시할 필요 없이, MySQL이 두 데이터 타입이 맞지 않으면 자동으로 형 변환을 시도한다.
SELECT '5' + 2;
-- 7('5'를 숫자 5로 변환하고, 5 + 2를 계산)
SELECT '1988-08-18' + 2;
-- 1988-08-20(2일이 더해져 날짜가 변환)
SELECT '2abc' + 0;
-- 2('2abc'는 숫자 2로 변환되고, 나머지 문자는 무시)
SELECT 'abc2' = 0;
-- 1('abc2'는 숫자로 변환할 수 없으므로 0이 되어 0 = 0이 성립)
SELECT '100' + '200';
-- 300 ('100'과 '200'이 숫자로 변환된 후 덧셈 연산 수행)
'DBMS > MySQL' 카테고리의 다른 글
[MySQL]피벗(Pivot) (0) | 2025.03.08 |
---|---|
[MySQL]문자와 문자 연결 (0) | 2025.02.25 |
[MySQL]중복 키(ON DUPLICATE KEY UPDATE, IGNORE) (0) | 2025.02.20 |
[MySQL]데이터 삭제, 테이블 삭제(DELETE, DROP, TRUNCATE) (0) | 2025.02.20 |
[MySQL]테이블 생성, 데이터 추가, 데이터 수정(CREATE, INSERT, UPDATE) (0) | 2025.02.20 |