728x90
형 변환
@2024.05.02
MySQL 타입
정수 타입
- TINYINT : 매우 작은 정수(-128 ~ 127 || 0 ~ 255)
- SMALLINT : 작은 정수(-32768 ~ 32767 || 0 ~ 65535)
- MEDIUMINT : 중간 정수(-8388608 ~ 8388607 || 0 ~ 16777215)
- INT : 일반적인 정수(-2147483648 ~ 2147483647 || 0 ~ 4294967295)
- BIGINT : 큰 정수
(-9223372036854775808 ~ 9223372036854775807 || 0 ~ 18446744073709551615)
부동 소수점 타입
- FLOAT : 단정도 부동 소수점 수
- 32비트로 표현되며 유효 숫자와 지수로 나타낸다
- 부호 비트 : 부호를 나타내며 0은 양수, 1은 음수
- 지수 부분 : 수의 크기
- 가수 부분 : 수의 정밀도
- DOUBLE : 배정도 부동 소수점 수
- 단정도에 비해 높은 정밀도를 가지며, 64비트로 표현된다.
- 부호 비트 : 부호를 나타내며 0은 양수, 1은 음수
- 지수 부분 : 수의 크기
- 가수 부분 : 수의 정밀도
- DECIMAL : 정밀 십진수
- 부동 소수점 방식과 달리 소수점 위치가 고정되어 있어 정확한 숫자를 표현하는데 유용
- 소수점 이하의 숫자의 개수와 저장될 소수점 이하 자릿수를 지정할 수 있다.
- ex) DECIMAL(5,2)
- 총 5자리 숫자를 허용하고 소수점 이하 2자리를 허용 ⇒ 999.99까지 값 저장 가능
문자열 타입
- CHAR : 고정 길이 문자열
- 항상 일정한 공간을 차지한다.
- 따라서 공간을 미리 할당받는다.
- VARCHAR : 가변 길이 문자열
- 실제 데이터에 따라 필요한 만큼의 공간을 할당받는다.
- 따라서 공간을 동적으로 할당받는다.
- TEXT : 긴 텍스트 데이터
- BLOB : 이진 데이터(이미지, 사운드)
날짜 및 시간 타입
- DATE : 날짜(YYYY-MM-DD)
- TIME : 시간(HH:MM:SS)
- DATETIME : 날짜와 시간(YYYY-MM-DD HH:MM:SS)
- TIMESTAMP : 날짜와 시간(YYYY-MM-DD HH:MM:SS)을 저장하고 자동으로 업데이트
- YEAR : 연도(YYYY 또는 YY)
기타 타입
- BOOL, BOOLEAN : 불리언(0 또는 1).
- ENUM : 열거형으로, 주어진 값 중 하나만을 가질 수 있는 타입
- SET : 값의 집합을 나타내는 타입.
형 변환
💡
데이터의 형식으로 다른 형식으로 변환하는 프로세스로, 데이터를 적절한 형식으로 사용할 수 있도록 조작한다.
@기본 구조
CAST(expression AS type)
CONVERT(expression, type)
@기본 구조
CAST(expression AS type)
CONVERT(expression, type)
- CAST() 함수 이용
- 특정 데이터를 다른 데이터 유형으로 변환
SELECT CAST(123 AS CHAR); -- 숫자를 문자열로 변환 SELECT CAST('2024-05-02' AS DATE); -- 문자열을 날짜로 변환
- CONVERT() 함수 이용
- CAST() 함수와 매우 유사
- 다양한 문자열 인코딩으로 변환도 수행 가능
- USING : COVERT 함수에서 원본 문자열의 현재 인코딩을 지정하는데 사용
- USING를 사용하지 않으면 MYSQL은 기본 인코딩 형식을 사용하여 변환 시도
- 데이터베이스 연결 설정에 따라 기본 인코딩 형식은 다를 수 있기 때문에, 명시적으로
원본 문자열의 인코딩을 지정하는 것이 좋다.
SELECT CONVERT('2024-05-05', DATE); -- 문자열을 날짜로 변환 SELECT CONVERT('hello' USING UTF8); -- 문자열의 인코딩을 UTF-8로 변환
728x90
'MYSQL' 카테고리의 다른 글
조인 (0) | 2024.05.07 |
---|---|
GROUP BY (0) | 2024.05.05 |
[내장 함수] 집계 함수 (0) | 2024.05.05 |
[내장 함수] 날짜형 함수 (0) | 2024.05.05 |
[내장 함수] 숫자형 함수 (0) | 2024.05.05 |