형변환
형변환
형변환이란?
- 데이터의 타입을 변경하는 것
- 종류
- 암시적인 형변환
- 명시적인 형변환
암시적인 형변환
- 자료형을 지정하지 않아도 자동으로 형변환이 되는 것을 의미한다.
select 100 + '200'; /* 출력 : 300 */
SELECT '100' + '200'; /* 출력 : 300 */
SELECT CONCAT('100', '200'); /* 출력 : 100200, CONCAT 함수를 통해 합쳤기 때문에 문자열로 인식 */
SELECT CONCAT(100, '200'); /* 출력 : 100200, CONCAT 함수를 통해 합쳤기 때문에 문자열로 인식 */
SELECT 1 > '2test'; /* 출력 : 0, '2test'를 숫자 2로 인식한 후 1 > 2는 거짓이라서 0을 반환 */
SELECT 3 > '2test'; /* 출력 : 1, '2test'를 숫자 2로 인식한 후 3 > 2는 참이라서 1을 반환 */
SELECT 0 = 'test2'; /* 출력 : 1, 'test2'를 숫자 0으로 인식한 후 0 = 0는 참이라서 1을 반환 */명시적인 형변환
BINARY 연산자
- BINARY 연산자는 뒤에 붙는 문자열을 바이너리 문자열로 변환한다.
- BINARY 연산자를 이용하면 문자가 아닌 바이트를 기준으로 하여 비교나 검색 작업을 수행할 수 있다.
SELECT BINARY 'BINARY' = 'BiNaRy'; /* 출력 : 0 */
SELECT 'BINARY' = 'BiNaRy'; /* 출력 : 1 */CAST(expr AS type) 함수
- 인수로 전달받은 값을 명시된 타입으로 변환하여 반환한다.
- expr에는 형변환을 시도할 값을 명시한다.
- type에는 변환할 자료형을 명시한다.
CONVERT(expr[USING charset][, type]) 함수
- 인수로 전달받은 값을 명시된 타입으로 변환하여 반환한다.
- expr에는 형변환을 시도할 값을 명시한다.
- type에는 변환할 자료형을 명시한다.
- USING 키워드를 사용하여 문자셋을 변경할 수 있다.
CAST와 CONVERT에서 사용할 수 있는 자료형
- BINARY
- CHAR
- DATE
- DATETIME
- TIME
- DECIMAL
- JSON (MySQL 5.7.8부터 제공)
- NCHAR
- SIGNED [INTEGER]
- UNSIGNED [INTEGER]
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.