프로그래밍/ DB

SQL) MSSQL CHARACTER_MAXIMUM_LENGTH vs CHARACTER_OCTET_LENGTH

초징 2018. 1. 26. 16:38
반응형

MSSQL CHARACTER_MAXIMUM_LENGTH vs CHARACTER_OCTET_LENGTH


CHARACTER_MAXIMUM_LENGTH : character의 길이(length) 기준

CHARACTER_OCTET_LENGTH : byte의 길이(length) 기준


따라서, var나 varchar는 CHARACTER_MAXIMUM_LENGTH 의 값과 CHARACTER_OCTET_LENGTH의 값이 같다. 

하지만, nvarchar는 유니코드가 포함되어 있는 타입이기 때문에, CHARACTER_MAXIMUM_LENGTH의 값은 CHARACTER_OCTET_LENGTH 값과 다르다. 유니코드는 charater가 1당 byte가 2이기 때문에 CHARACTER_OCTET_LENGTH 의 값이 CHARACTER_MAXIMUM_LENGTH값보다 두 배 차이가 난다.


출처 : https://dba.stackexchange.com/questions/74153/difference-between-character-maximum-length-and-character-octet-length


관련 MSDN : https://docs.microsoft.com/en-us/sql/relational-databases/system-information-schema-views/columns-transact-sql

반응형