MS SQL 데이터 타입(varchar vs. nvarchar)

Tony·2024년 4월 19일
0

DB

목록 보기
5/6

회사에서 현재 Azure 클라우드의 Ms SQL을 사용하고 있는데

varchar로 지정된 컬럼에 한글입력 시 깨지는 현상이 발생했고
nvarchar로 변경하니 해결되었다

이번 기회에 Ms SQL의 데이터 타입 중 자주 봤던 것들 대해 정리해보자

정확한 수치

정수형

데이터 형식범위범위 식스토리지
bigint-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,8072^63 ~ 2^63-18바이트
int-2,147,483,648 ~ 2,147,483,6472^31 ~ 2^31-14바이트
smallint-32,768 ~ 32,7672^15 ~ 2^15-12바이트
tinyint0 ~ 2552^8-11바이트

근사치

실수형

데이터 형식범위스토리지
float- 1.79E+308에서 -2.23E-308, 0과 2.23E-308에서 1.79E+308이 값은 n의 값에 따라 달라집니다
real- 3.40E+38에서 -1.18E-38, 0과 1.18E-38에서 3.40E+384바이트
  • n의 기본값은 53
n 값자리수스토리지
1 ~ 2474바이트
25 ~ 53158바이트

날짜 및 시간

데이터 형식출력
time12:35.29 1234567
date2017-05-08
smalldatetime2017-05-08 12:35:29
datetime2017-05-08 12:35:29.123
datetime22017-05-08 12:35:29.1234567
datetimeoffset2017-05-08 12:35:29.1234567 +12:15
  • datetime은 iso8601 형식이 아닌 yyyy-mm-dd hh:mm:ss[.mmm] 형식으로 저장된다

문자열

고정 크기

  • char, nchar

가변 크기

  • varchar, nvarchar

varchar vs. nvarchar

  • varchar와 char는 싱글바이트 인코딩이고
  • nvarchar와 nchar는 UTF-8과 같은 멀티바이트 인코딩이다
  • 한글을 저장할 때는 nvarchar를 사용해야 한다

참고

profile
움직이는 만큼 행복해진다

0개의 댓글