SQL 에서 DATA Type Conversion 은 데이터 타입을 변경하는 것을 의미합니다.
데이터 형변환은 다음과 같은 사유로 변환할 수 있습니다 .
서로 다른 데이터 타입을 가진 값들을 비교하거나 계산할 때, 동일한 데이터 타입으로 변환할 수 있습니다.
날짜, 시간, 또는 숫자 데이터를 특정 형식으로 변환하여 출력하거나 처리해야할 때 사용합니다.
데이터 타입이 맞지 않아 에러가 발생할 때
암시적 형변환: 시스템에 의해 자동으로 형변환
명시적 형변환: 사용자가 임의로 형 변환 (CAST, CONVERT 함수를 사용)
명시적 형변환인 CAST와 CONVERT 함수를 사용할 때 CHAR(5)과 같은 문자열의 길이를 지정할 수 있습니다.
문자열을 변환할 때 CHAR에 지정한 값이 문자열 길이보다 작으면 문자열이 잘리게 됩니다.
BINARY, DATE, CHAR, DATETIME, NCHAR, TIME, SIGNED, DECIMAL, UNSIGNED, JSON
# CAST
# CAST 기본 SYNTAX
SELECT CAST(<col> AS data_type) FROM table;
# 소수점 제거
SELECT CAST(123123.23 AS INT) AS INT_VALUE;
# CONVERT
SELECT CONVERT(<col>, data_type) FROM table;
# 문자열을 3개로 지정할 경우 결과는 3자리만 표현된다.
SELECT CONVERT(20202020, CHAR(3));
Null 은 어떠한 연산 작업을 진행하면 Null 값이 반환됩니다.
Null 의 경우 IFNULL, COALESCE 함수로 다른 타입으로 변환할 수 있습니다.
다음은 TABLE2라는 테이블로 first_name, middle_name, last_nae, age로 구성된 데이터입니다. middle_name에 null값이 존재합니다.
SELECT * , IFNULL(middle_name, '대체값') AS COL2 FROM TABLE2;
middle_name 칼럼에 null 값이 존재하면 '대체값'이라는 값을 넣어 col2라는 칼럼을 생성하는 코드입니다.
LOWER 함수: 문자열을 소문자로 변경
UPPER 함수: 문자열을 대문자로 변경