SQL National Character(NCHAR) 데이터형은 실제로 어떤 용도로 사용됩니까?
가가 가 asCHAR
(CHARACTER)
★★★★★★★★★★★★★★★★★」VARCHAR
(CHARACTER VARYING)
은 , SQL을 합니다.NCHAR
(NATIONAL CHARACTER)
★★★★★★★★★★★★★★★★★」NVARCHAR
(NATIONAL CHARACTER VARYING)
type에 이 더 . 일부 데이터베이스에서는 문자(비이진) 문자열에 사용하는 것이 더 좋습니다.
Server sql 、 SQL Server ( 。
NCHAR
되며 비 ASCUTF-16LE를하게 저장할 수 있는 입니다. II 자 、CHAR
뿐이며, 「」를 참조해 주세요.에서는 Oracle 서서
NVARCHAR
단일 바이트 조합이 아닌 UTF-16 또는 UTF-8로 저장할 수 있습니다.에서는 "MySQL"을 합니다.
NVARCHAR
VARCHAR
그 때문에, 어느 타입도 UTF-8 또는 그 외의 대조로 보존할 수 있습니다.
그럼 ''이 뭘까요?NATIONAL
실제로 개념적으로 어떤 의미라도 있나요?공급업체의 문서에서는 실제 근거가 아닌 자체 DBMS가 사용하는 문자 집합에 대해서만 설명합니다.에서는 이 기능에 대해 되지 .「 SQL92 」는 「SQL92」의 「SQL92」의 「SQL92」의 「SQL92」의 「SQL92」의 「SQL92」의 「SQL92」의 「SQL92」의 「SQL92」의 「SQL92」에 한정되어 있습니다.NATIONAL CHARACTER
는 구현 정의 문자 집합에 저장됩니다.한 순한 to to to 와는 달리CHARACTER
이치하다그렇지 않으면.
고마워, ANSI.탄시.
사용할 필요가 있다NVARCHAR
모든 문자(비표준) 스토리지 용도로 사용할 수 있습니까? 있는 바람직하지 않은 DBMS)를 가 ?N''
★★★★★★★★★★★★★★★★★?
이 경우 "NATIONAL"은 다른 국적에 고유한 문자를 의미합니다.특히 극동 언어에는 문자가 너무 많아서 1바이트로는 모든 문자를 구분할 수 없습니다.따라서 영어(asciii) 전용 앱 또는 영어 전용 필드가 있는 경우 문자당 1바이트만 허용하는 오래된 CHAR 및 VARCHAR 유형을 사용할 수 있습니다.
즉, 대부분의 경우 NCHARCHAR/NVARCHAR를 사용해야 합니다.데이터에서 여러 언어를 지원할 필요가 없다고 생각되는 경우에도(또는 잠재적으로 지원할 수 있음) 영어 전용 앱도 외국어 문자를 사용하여 보안 공격을 적절하게 처리할 수 있어야 합니다.
CHAR 참조되는 와 SQL 등의 데이터입니다. 「CAR/VARCHAR」에츠키다enum
C++나 C#등의 클라이언트 언어로 지정합니다.
한편 SQL92 표준에서는 NATIONAL CHARGER만 구현 정의 문자 집합에 저장된다고 명시하여 이 기능에 대한 설명은 더욱 유용하지 않습니다.구현 정의 문자 집합에 저장되는 단순한 문자와는 달리.다른 구현 정의 문자 집합일 수 있습니다.그렇지 않으면.
공교롭게도 이것은 C++ 표준이 만드는 것과 같은 '구분'입니다.char
그리고.wchar_t
모든 언어/OS 조합에 독자적인 문자 세트가 있는 경우의 문자 부호화의 암흑시대 유물.
NVARCHAR를 모든 문자(비바이너리) 저장 용도로 사용해야 합니까?
컬럼의 선언된 유형이 다음과 같은지는 중요하지 않습니다.VARCHAR
또는NVARCHAR
단, Unicode(UTF-8, UTF-16, UTF-32)를 모든 문자 저장 용도로 사용하는 것이 중요합니다.
현재 인기 있는 DBMS 중 바람직하지 않은 것을 실행하는 것이 있습니까?
○: MS SQL Server에서 사용NCHAR
를 사용하면 (영어) 데이터가 2배의 공간을 차지하게 됩니다.유감스럽게도 UTF-8은 아직 지원되지 않습니다.
편집: SQL Server 2019에서 UTF-8 지원이 드디어 도입되었습니다.
Oracle에서는 데이터베이스 문자 집합이 멀티바이트 문자 집합일 수 있으므로 모든 종류의 문자를 저장할 수 있습니다.단, 컬럼의 길이를 적절히 이해하고 정의해야 합니다(BYTS 또는 CARTERS).
NVARCHAR에는 1바이트의 데이터베이스 문자 집합(BYTE 또는 CARCHER 사이즈의 열 간에 혼동을 일으킬 가능성을 줄임)이 있어 NVARCHAR를 멀티바이트로 사용할 수 있는 옵션이 있습니다.여기 보세요.
주로 영어 데이터를 사용하기 때문에 데이터베이스 문자 집합으로 멀티바이트 문자 집합(UTF-8)을 사용하고 NVARCHAR는 무시합니다.단일 바이트 문자 집합으로 변환하기엔 너무 커서 오래된 데이터베이스를 상속받은 경우 NVARCHARCHAR를 사용할 수 있습니다.하지만 난 안 하는 게 낫겠어.
언급URL : https://stackoverflow.com/questions/3895387/whats-the-sql-national-character-nchar-datatype-really-for
'programing' 카테고리의 다른 글
각도로 ng-if, ng-else를 사용하는 방법JS (0) | 2023.03.10 |
---|---|
지원되지 않는 미디어 유형 가져오기 오류 (0) | 2023.03.10 |
React Router - 버전 업데이트 후 Router에서 스크립트 오류를 입력합니다. (0) | 2023.03.10 |
generator-karma가 형제자매의 peerDependencies 요구 사항을 충족하지 않습니다. (0) | 2023.03.10 |
JSON 문자 부호화 (0) | 2023.03.10 |