이번에는 PostgreSQL의 문자열 타입을 알아보도록 하겠다.

우선 아래와같이 매우심플하다. 보통 nvarchar()를 지원하는데 Pg에는 지원하지 않는다.

* 참고

  - varchar : 영어,숫자=1Byte, 한글,한자등=2Byte

  - nvarchar : 모든문자열=2Byte

형식 크기 별칭
character varying(n) 가변 길이 문자열 varchar(n)
character(n) 고정 길이 문자열 char(n)
text 제한없이 가변 길이  

그렇다면 여기서 nvarchar가 존재 하지 않는다면, 문자열 길이 계산은 어떻게 될까를 알아보았다.

--char_length  : 문자열의 문자 수
--bit_length   : 문자열의 비트 수
--octet_length : 문자열의 바이트 수
SELECT m_char
     , char_length(m_char)
      , bit_length(m_char)
      , octet_length(m_char)
  FROM test3

Byte 기준으로 보았을때, Postgre SQL의 경우 한글의 경우 무려 3Byte를 차지하는걸 알수있었다. 

함수를 이용한 비트,바이트수 계산은 3Byte 이지만!, 실제로 컬럼 타입설정시 DataType에서 설정한 길이수 기준은

실제 데이터 insert등의 경우 숫자,영문,한글 모두 한글자(1)로 처리되어 동일하게 사용가능하다. 

이점에 유념해서 컬럼 DataType선언을 하기 바란다. ^^

 

+ Recent posts