본문으로 바로가기

MySQL 데이터 형식, 형 변환

category DB, ORM/🧊 MySQL 2020. 10. 30. 21:59

Data type

 

이걸 왜 한 번도 다루질 않았지? 싶을 정도로 일반적인 내용이어서 그냥 사용하고 있었다.

자세한 설명은 이미 다른 곳에서도 잘 다루고 있으므로 여기서는 자주 사용하는 것만 적어보았다.

 

숫자

SAMLLINT (+- 3만)

INT (+- 21억)

BIGINT (+- 900경)

FLOAT

DECIMAL(m, [d])

 

문자

CHAR(n)

VARCHAR(n)

TINYTEXT/TEXT/MEDIUMTEXT(게시판 글의 경우 대개 MEDIUMTEXT 사용함)/LONGTEXT => 최대 4GB

TINYBLOB/BLOB/MEDIUMBLOB/LONGBLOB => 음성, 영상 등 blob 데이터를 넣음. 최대 4GB

ENUM

 

날짜와 시간

DATE

TIME

DATETIME

 

기타

GEOMETRY

JSON

 

 

형변환

 

case( as [형]) 또는 convert( , [형])으로 형변환 가능함.

select avg(amount) as '평균 구매 갯수' from buytbl; -- 2.9167 값이 나옴

select cast(avg(amount) as signed integer) as '평균 구매 갯수' from buytbl; -- 3
select convert(avg(amount), signed integer) as '평균 구매 갯수' from buytbl; -- 3

concat과 조합하여 다음과 같이 형변환

SELECT 
    num, concat(cast(price as char(10)), 'x', cast(amount as char(4)), '=') as '단가x수량', price * amount AS '구매액'
FROM
    buytbl;

 

 

암묵적인 형 변환

 

똥망언어인 js 처럼 자동 형변환이 됩니다.

select '100' + '200'; -- 300
select 1 < '2mega'; -- true
select concat('100', '200') -- 100200. 아 이건 안되는구나;

 


darren, dev blog
블로그 이미지 DarrenKwonDev 님의 블로그
VISITOR 오늘 / 전체