db 버전별로 다름 직접 확인이 필요하다.
mysql
- varchar(10)로 생성 시
- v4까지는 byte로 인식
- v5부터 char로 인식
- https://extbrain.tistory.com/43
postgresql
- varchar(10) — 10byte가 아니라 10문자수를 의미한다. (한글/영문 모두)
- 실제로는 utf-8이면 3 byte로 인식
- select length(‘가’), lengtb(‘가’);
- https://www.postgresdba.com/bbs/board.php?bo_table=B10&wr_id=95
oracle
- varchar(10) - 10 byte, 한글은 3byte, 영문자/숫자 - 1byte
- varchar(10 char) - 10문자
- varchar(4000 char) - 테이블 생성은 되지만 한글 4000자를 넣으면 오류 발생함
- varchar 최대 4000 byte
mssql
- varchar(10) - 10 byte
- 한글 2byte, 영문자 - 1byte
- 최대 8000 char
- https://althathatha.tistory.com/46
- jpa의 @Column(10)으로 생성 시 10byte로 생성되어 문제가 됨
tibero
- varchar(10) - 10byte
- varchar(10 char) - 10문자
- https://technet.tmaxsoft.com/upload/download/online/tibero/pver-20160406-000002/tibero_dev/ch01.html
- https://www.tmaxdata.com/img/service/pdf/Tibero%205%20Development%20Guide_v2.1.4.pdf
반응형