[SQL] VARCHAR2 (n 개의 BYTE | CHAR) 기본 -> CHAR 또는 BYTE
SQLVARCHAR2 (n 개의 BYTE | CHAR) 기본 -> CHAR 또는 BYTE
나는 스키마 선언 아래에이 코드를 지원하고있다 : -
create table sample (
id number Primary key,
username varchar2(100),
);
나는 Oracle 설명서에 고개 & VARCHAR2 두 선언 모드가 있습니다 VARCHAR2 (N BYTE)와 VARCHAR2 (N CHAR) 년은 명시 적으로 BYTE 또는 CHAR를 지정하지 않은 경우 및 단지 사용자 이름 VARCHAR2 (500) 500 바이트가 할당됩니다 500 개 문자를 선언?
감사,
해결법
-
==============================
1.기본값은 설정되어 매개 변수 무엇이든 NLS_LENGTH_SEMANTICS 될 것입니다. 기본적으로 그 사용 문자 길이를 의미 할 수있는 옵션이 없었다 오라클의 이전 버전과 일치하는 BYTE입니다. 당신이 당신의 자신의 스키마를 정의하고 (AL32UTF8 같은) 가변 폭 문자 집합을 사용하는 경우는 거의 항상하지 바이트 문자 길이를 지정하도록하기 때문에, 난 강력하게 CHAR에 NLS_LENGTH_SEMANTICS를 설정하는 것이 좋습니다 것입니다.
기본값은 설정되어 매개 변수 무엇이든 NLS_LENGTH_SEMANTICS 될 것입니다. 기본적으로 그 사용 문자 길이를 의미 할 수있는 옵션이 없었다 오라클의 이전 버전과 일치하는 BYTE입니다. 당신이 당신의 자신의 스키마를 정의하고 (AL32UTF8 같은) 가변 폭 문자 집합을 사용하는 경우는 거의 항상하지 바이트 문자 길이를 지정하도록하기 때문에, 난 강력하게 CHAR에 NLS_LENGTH_SEMANTICS를 설정하는 것이 좋습니다 것입니다.
-
==============================
2.다음과 같은 쿼리를 사용하여 현재 값을 확인할 수 있습니다
다음과 같은 쿼리를 사용하여 현재 값을 확인할 수 있습니다
SELECT value FROM NLS_DATABASE_PARAMETERS WHERE parameter='NLS_LENGTH_SEMANTICS';
from https://stackoverflow.com/questions/7477564/varchar2n-bytechar-default-char-or-byte by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] INSERT INTO TABLE은 쉼표에서 VARCHAR 목록을 분리 (0) | 2020.07.01 |
---|---|
[SQL] 때 당신은 테이블 반환 함수를 사용해야합니까? [닫은] (0) | 2020.07.01 |
[SQL] 하나의 MySQL의 쿼리에서 여러 행을 업데이트 (0) | 2020.07.01 |
[SQL] 어떻게 SQL 서버에서 날짜 필터링의 성능을 향상시키기 위해? (0) | 2020.07.01 |
[SQL] SQL 주입은 위험이 오늘인가? (0) | 2020.07.01 |