MySQL 형변환 CAST 함수 CONVERT 함수 사용 방법

CAST 함수 또는 CONVERT 함수를 사용하여 데이터 형변환을 할 수 있습니다.

SELECT로 검색을 하는 경우 또는 INSET, UPDATE로 칼럼에 값을 넣어야 하는 경우 설정한 데이터 타입에 맞춰서 넣어줘야 하는 경우 형변환 함수를 사용합니다.

 

CAST / CONVERT 함수 사용 방법

CAST 함수를 사용하면 지정한 값을 다른 테이터 타입으로 변환할 수 있습니다.

CAST(expr AS type)

 

CONVERT 함수도 지정한 값을 다른 테이터 타입으로 변환하고 싶을 때 사용합니다.

CONVERT(expr, type)

 

expr에는 값을 지정합니다.

type에는 변환하고 싶은 데이터 타입을 지정합니다.

지정할 수 있는 데이터 타입 아래와 같습니다.

BINARY[(N)]
CHAR[(N)] [charset_info]
DATE
DATETIME
DECIMAL[(M[,D])]
JSON
NCHAR[(N)]
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]

 

CAST 함수를 사용해 현재 시간을 SIGNED 타입으로 변환하는 예제를 보겠습니다.

SELECT CAST(NOW() AS SIGNED);
> 20210527135358

 

이번에는 CONVERT 함수를 사용해 SIGNED 타입으로 변환하는 예제를 보겠습니다.

SELECT CONVERT(NOW(), SIGNED);
> 20210527135712

 

숫자를 날짜 타입으로 변환해보겠습니다.

SELECT CAST(20200101 AS DATE);

SELECT CONVERT(20200101, DATE);
> 2020-01-01

 

숫자를 문자열 형태로 변환해보겠습니다.

SELECT CAST(20200101030330 AS CHAR);

SELECT CONVERT(20200101030330, CHAR);
> 20200101030330

 

CAST 함수와 CONVERT 함수를 사용하면 원하는 형태로 데이터 타입을 변경할 수 있습니다.

데이터를 검색하거나 등록하는 경우에 칼럼에 맞는 타임으로 지정하지 않으면 원하는 결과를 얻지 못하는 경우가 생깁니다.

또는 취득한 데이터를 SQL에서 편집하고 싶은 경우에도 데이터 타입에 따라 결과가 달라지기도 합니다.

원하는 결과가 얻지 못하는 경우에는 데이터 타입을 변환해서 확인해보는 것도 좋습니다.

댓글