주절주절

mysql 데이터타입 변환에 사용하는 cast() 함수

뫼B우스 2023. 5. 22. 09:36
반응형

mysql 데이터베이스를 사용하다, 

테이블에 저장한 데이터타입이 사용하는 데이터타입과 달라 변환해야 할 경우가 있다.

 

1. 테이블에 char형으로 저장되어 있는 컬럼을 max(), min(), avg() 함수를 사용할 경우 원하지 않는 결과를 가져올 수 있는데,

이 경우 컬럼의 데이터타입을 int형으로 바꿔줘야 정확한 결과값을 얻을 수 있다.

 

2. 테이블의 데이터타입을 원하는 데이터타입으로 변환해야 할 경우 등등 

 

위와 같은  경우 mysql cast() 함수를 사용하면 복잡한 문제를 해결할 수 있다. 

cast(value as datatype) => cast(기존컬럼명 as 변환할 데이터타입)

예시) int 형으로 변환 
select cast(col1 as signed) from table;

예시) DATE 형으로 변환
select cast(col2 as DATE) from table;

 

아래와 같은 데이터타입으로 변환하여 사용할 수 있다.

 

데이터타입 내용
DATE "YYYY-MM-DD"
DATETIME "YYYY-MM-DD HH:MM:SS"
DECIMAL 옵션
M (maximum number of digits), 
D (the number of digits following the decimal point)
TIME "HH:MM:SS"
CHAR a fixed length string
NCHAR char, but produces a string with the national character set
SIGNED a signed 64-bit integer
UNSIGNED an unsigned 64-bit integer
BINARY a binary string

 

반응형