본문 바로가기
Do it! SQL 입문/이론

SQL 시작하기

by Hwanii_ 2023. 6. 21.
728x90

03-7 SQL Server에서 다루는 자료형 정리하기.

p.129 ~ 136

 

1.

삽입하려는 데이터의 자료형이 열에 지정한 자료형과 맞지 않으면

오류가 발생 한다.

 

2.

숫자형, 문자형, 날짜형, 지리형, 공간형 등 다양한 자료형이 존재 한다.

(SQL Server 기준)

 

3.

자료형은 데이터를 효율적으로 다루는 정도로만 공부하면 된다.

모든 자료형을 외울 필요는 없다.

 

자료형 관련 지식이 필요하면 검색을 통해 해결.

 

4.

숫자형

정수, 실수 등의 숫자 이다.

 

bit : 불리언 형식으로 참 또는 거짓으로 사용.

----------------------

tinyint : 정수 데이터를 사용하는 정확한 숫자 자료형 이다.

smallint : 자료형을 숫자로 저장할 때 가장

int : 많이

bigint : 사용 한다.

----------------------

decimal(p,s) : 전체 자릿수와 소수 자릿수가

numberic(p,s) : 고정된 숫자로,

float(n) : 최대 38자리 까지 사용이 가능 하다.

----------------------

real : 부동 소수점 숫자 데이터에 사용하는 근사 숫자 자료형.

----------------------

smallmoney : 통화 단위에 주로 사용하며,

money : 1/10000 까지 정확하게 표현이 가능 하다.

 

5.

숫자형 데이터를 사용할 때는 형변환에 주의 한다.

 

암시적 형변환, 명시적 형변환이 있다.

 

명시적 형변환은 사용자가 직접 자료형을 변경하는 것을 말한다.

 

암시적 형변환은 연산 대상의 자료형이 다를 경우,

데이터 우선순위에 따라 시스템이 상위 자료형으로 변경하므로 오류나 성능에

문제가 발생하기 쉬운 만큼 주의해야 한다.

 

6.

문자형

 

문자형은 다양한 문자를 저장할 수 있는 자료형 이다.

문자형은 고정 길이와 가변 길이로 구분이 가능하다.

 

고정길이 >> 실제값을 입력하지 않아도, 지정한 만큼의 저장 공간을 사용 한다.

 

가변길이 >> 실제 입력한 값의 크기만큼만 저장 공간을 사용 한다.

 

유니코드는 한글이나 특수문자 등을 저장할 때 사용하며, 한 글자에 2바이트 이다.

그래서 유니코드의 경우, 지정한 데이터 크기의 50% 정도만 저장이 가능 하다.

 

왜냐하면 글자가 하나에 2바이트 니까 ~

 

자료형 데이터 크기 (byte) 설명
char(n) 0 ~ 8000 고정 길이 문자열
nchar(n) 0 ~ 8000 유니코드 고정 길이 문자열로
4000자 입력 가능
varchar(n|max) 0 ~ 2^31-1 가변 길이 문자열로 n만큼의 크기
지정 가능
max를 지정하면 2GB 까지 가능
nvarchar(n|max) 0~2^31-1 유니코드 가변 길이 문자열
binary(n) 0 ~ 8000 고정 길이의 이진 데이터값
varbinary(n|max) 0 ~ 2^31-1 가변 길이 이진 데이터값
N을 사용하면 1 ~ 8000까지 크기 지정
max를 지정하면 2GB까지 크기 지정
동영상 이미지 등 저장에 사용

7.

유니코드란?

 

국가마다 고유한 언어와 문자가 있듯이, 문자 형식의 데이터를 저장하고 관리할 때

국가별 코드 페이지가 달라서 서로 호환되지 않는 문제가 있다.

 

즉, 한국어 데이터베이스에 한국어만 사용하고, 영어 데이터베이스에 영어만 사용할 경우,

큰 문제가 발생 하지 않지만,

하나의 데이터베이스에 영어, 한국어, 중국어 등 여러 나라의 언어를 함께 저장해 사용할 때는

코드에 따른 문자가 서로 달라 문제가 발생.

 

이러한 문제점을 해결하고자 유니코드 형식을 사용하는데 전세계에서

사용되는 대부분의 문자에서 단일 인코딩하는 방법을 정의한다.

 

유니코드는 아래와 같은 특징이 있다.

 

1)

유니코드 문자열을 저장하려면 한 글자당 2바이트의 공간이 필요 하다.

 

2)

유니코드로 저장하려면 자료형도 유니코드 형태여야 하지만,

데이터를 입력할 때 유니코드라는 것을 알려주고자 문자열 앞에 반드시

대문자 N을 사용 한다.

 

3)

유니코드는 문자에만 해당되므로 숫자나 날짜 등에는 해당되지 않는다.

 

8.

날짜형과 시간형

 

자료형 데이터 크기 정확도 설명
time 3~5 100나노초 00:00:00.0000000
~
23:59:59.9999999
까지 저장
date 3 1일 0001-01-01
~
9999-12-31
까지 저장
smalldatetime 4 1분 1900-01-01 00:00:00
~
2079-06-06 23:59:59
까지 저장

datetime 8 0.00333초 1753-01-01
00:00:00.0000000
~
9999-12-31
23:59:59.997
까지 저장
datetime2 6~8 100나노초 DATETIME 형식에서
확장된 형식
datetimeoffset 8~10 100나노초 0000-01-01
00:00:00.0000000
~
9999-12-31
23:59:59.9999999
까지 저장
타임존 시간을 함께 저장

 

정확도에 따라 초 단위에서 소수점 자릿수가 다른 것을 알 수 있다.

 

9.

문자와 날짜 형식도 형 변환이 가능하다.

반응형

'Do it! SQL 입문 > 이론' 카테고리의 다른 글

테이블을 서로 통합하는 조인 2  (0) 2023.06.25
테이블을 서로 통합하는 조인  (0) 2023.06.21
SQL 시작하기  (0) 2023.06.18
나만의 SQL 실습 환경 만들기  (0) 2023.06.18
SQL 시작하기  (1) 2023.06.16