MySQL에서는
- CAST 함수
- CONVERT 함수
둘 중 하나를 사용해 데이터 형변환을 할 수 있다.
변환 가능한 데이터 형식은 다음과 같다.
- BINARY[(N)]
- CHAR[(N)] [charset_info]
- DATE
- DATETIME
- DECIMAL[(M[,D])]
- JSON
- NCHAR[(N)]
- SIGNED [INTEGER]
- TIME
- UNSIGNED [INTEGER]
간단하게 사용 방법을 알아보면 다음과 같다.
1. CAST(값 AS 데이터형식)
SELECT * FROM USERS ORDER BY CAST(USER_ID AS UNSIGNED);
// 문자에서 숫자로 변환
SELECT CAST('123' AS UNSIGNED) AS test;
SELECT CAST('123' AS UNSIGNED) FROM DUAL;
// 숫자에서 문자로 변환
SELECT CAST(2 AS char(1)) AS test;
SELECT CAST(123 AS CHAR(3)) FROM DUAL;
// 문자 또는 숫자를 날짜 타입으로 변환
SELECT CAST(20230418 AS DATE) FROM DUAL; // 2023-04-18
SELECT CAST('20230418' AS DATE) FROM DUAL; // 2023-04-18
2. CONVERT(값, 데이터형식[길이])
// 숫자를 문자열로 변환
SELECT CONVERT(202304180950, CHAR); // "202304180950"
// 숫자를 날짜 타입으로 변환
SELECT CONVERT(20230418, DATE); // 2023-04-18
// SIGNED 타입으로 변환
SELECT CONVERT(NOW(), SIGNED); // 20230418135712
답글 남기기