2010-02-06 5 views
20

SQL 서버 백그라운드에서 왔습니다. 에 해당하는 데이터 유형은 MySQL의에서 다음 무엇을 할 것입니다 : - 모든 언어mysql 이에 상응하는 데이터 유형

NVARCHAR(max) 국제, 멀티 바이트 문자에 대한 지원을 제공합니다 -

NVARCHAR 매우 긴 텍스트 문서

+1

, NVARCHAR (n)은 1 4000을 통해 문자를 저장할 수 있습니다 - 정말 "매우 긴 텍스트 문서"의 나의 정의를. 그게 확실한가요? –

+0

NVARCHAR (MAX)는 긴 물건입니다. VARCHAR (n)이 아님. –

답변

12

http://msdn.microsoft.com/en-us/library/ms186939.aspx으로가는, 나는

VARCHAR(n) CHARSET ucs2 

가장 가까운 같다고 말할 것입니다. 하지만,이를 사용하여 많은 사람들이 더 자주 사람들이 사용 표시되지 않습니다 : 내가 아는, 지금까지 두 캐릭터 셋의 UTF8을

VARCHAR(n) CHARSET utf8 

와 같은 문자를 허용 UCS2 만 인코딩이 다르다. 그래서 둘 중 하나가 작동해야하고, 자주 사용되기 때문에 아마 후자를 위해 갈 것입니다.

유즈 케이스에는 적용될 수도 있고 적용되지 않을 수도있는 MySQL의 유니 코드 지원에는 몇 가지 제한 사항이 있습니다. MySQL의 유니 코드 지원에 대한 자세한 내용은 http://dev.mysql.com/doc/refman/5.0/en/charset-unicode.html을 참조하십시오.

12

에 해당이 가능 VARCHAR 또는 TEXT

MySql은 nchar 및 nvarchar를 지원하지만 다른 방식으로 사용됩니다. 이것은 문자 세트 및 데이터 정렬 (비교가 대소 문자를 구분해야하는지 여부와 같은 문자 집합을 사용하여 문자열을 비교하는 데 사용되는 규칙 집합)을 사용하여 구현됩니다.

서버
데이터베이스
표 하나를 지정하지 않은 경우

문자 집합이 바로 최상위 수준에서 상속
칼럼 :

는 MySQL은 4 수준에서 문자 집합을 정의합니다. 필요한 작업은 명시 적으로 또는 상속에 의해 nvarchar 유형의 열에 "문자 집합"이 유니 코드 문자 집합 (utf8이 내가 믿는 최선의 선택)으로 설정되도록하는 것입니다. (각 유니 코드를 10 개 유니 코드 문자를 취할 수있을 것입니다 위의 예제 _id에서

create table nvarchar_test 
(
_id varchar(10) character set utf8, 
_name varchar(200) character set ascii 
) 

및 _name 100 개 유니 코드 문자를 취할 수있을 것입니다 :

열 수준의 경우 다음과 같이 당신은 "문자 세트"를 설정할 수 있습니다 문자는 두 개의 ASCII 문자로 평가됩니다)

자세한 내용은 MySql 참조 문서를 참조하십시오.

관련 문제