[SQL] 컬럼 데이터 유형에 BYTE과 CHAR 차이점
SQL컬럼 데이터 유형에 BYTE과 CHAR 차이점
오라클에서의 차이 사이는 무엇입니까 :
CREATE TABLE CLIENT
(
NAME VARCHAR2(11 BYTE),
ID_CLIENT NUMBER
)
과
CREATE TABLE CLIENT
(
NAME VARCHAR2(11 CHAR), -- or even VARCHAR2(11)
ID_CLIENT NUMBER
)
해결법
-
==============================
1.우리는 데이터베이스 문자 집합을 가정하자 UTF-8, 오라클의 최신 버전의 권장 설정입니다. 이 경우, 일부 문자가 데이터베이스에 저장에 1 개 이상의 바이트를 취할.
우리는 데이터베이스 문자 집합을 가정하자 UTF-8, 오라클의 최신 버전의 권장 설정입니다. 이 경우, 일부 문자가 데이터베이스에 저장에 1 개 이상의 바이트를 취할.
당신이 VARCHAR2 (11 BYTE)로 필드를 정의하면, 그들 중 일부는 상점, 예를 들어, 둘 이상의 바이트를 가지고 있기 때문에, 오라클은 스토리지에 대한 11 바이트까지 사용할 수 있지만 실제로 필드에 11 개 문자를 저장할 수 없습니다 영어 이외의 문자.
당신이 오라클에게 VARCHAR2 (11 CHAR)으로 필드를 정의함으로써 그것은 상관없이 각 하나를 저장하는 데 걸리는 바이트, 11 개 문자를 보관하지 충분한 공간을 사용할 수 있습니다. 하나의 문자는 4 바이트까지 필요할 수 있습니다.
-
==============================
2.하나는 11 바이트, 정확히 11 자에 대한 다른 정확히 공간이 마련되어 있습니다. 유니 코드와 같은 일부 캐릭터 세트 따라서 11 바이트 필드 인코딩에 따라보다 11 개 문자를위한 공간이있을 수 있습니다, 문자 당 하나 이상의 바이트를 사용할 수 있습니다 변형.
하나는 11 바이트, 정확히 11 자에 대한 다른 정확히 공간이 마련되어 있습니다. 유니 코드와 같은 일부 캐릭터 세트 따라서 11 바이트 필드 인코딩에 따라보다 11 개 문자를위한 공간이있을 수 있습니다, 문자 당 하나 이상의 바이트를 사용할 수 있습니다 변형.
또한 http://www.joelonsoftware.com/articles/Unicode.html 참조
-
==============================
3.시스템 구성에 따라 바이트 단위로 측정 CHAR의 크기는 다를 수 있습니다. 당신의 예에서 :
시스템 구성에 따라 바이트 단위로 측정 CHAR의 크기는 다를 수 있습니다. 당신의 예에서 :
결론 : 1 CHAR 1 BYTE 동일하지 않습니다.
-
==============================
4.내가 Oracle 사용자 아니에요 이후는 잘 모르겠지만, 나는 차이 거짓말은 유니 코드 (UTF-32분의 16)와 같은 멀티 바이트 문자 집합을 사용하는 경우에 있다고 가정합니다. 이 경우, 11 바이트 미만 11 자에 대한 계정 수 있습니다.
내가 Oracle 사용자 아니에요 이후는 잘 모르겠지만, 나는 차이 거짓말은 유니 코드 (UTF-32분의 16)와 같은 멀티 바이트 문자 집합을 사용하는 경우에 있다고 가정합니다. 이 경우, 11 바이트 미만 11 자에 대한 계정 수 있습니다.
또한 그 필드 유형은 악센트 문자 또는 경우, 예를 들어 'binaryField (ETE) = "ETE"'일치하지 않습니다에 관하여 다르게 취급 될 수도 있지만 'charField (ETE) = "ETE"'(오라클에 대한하지 않도록 다시) 힘 .
from https://stackoverflow.com/questions/81448/difference-between-byte-and-char-in-column-datatypes by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL 열에서 가장 자주 값을 찾기 (0) | 2020.04.06 |
---|---|
[SQL] SQL 서버 : 추출 테이블 메타 데이터 (설명, 필드 및 데이터 유형) (0) | 2020.04.06 |
[SQL] (가) 극적으로 엔티티 프레임 워크의 성능이 열화 () 연산자를 포함하는 이유는 무엇입니까? (0) | 2020.04.06 |
[SQL] 모든 텍스트 기반의 필드에 대한 일반적인 VARCHAR (255)를 사용하여이 단점은? (0) | 2020.04.06 |
[SQL] 큰 데이터베이스의 빠른에서 중복을 제거 MYSQL (0) | 2020.04.06 |