programing

int(11)와 int(11) UNSIGNARED의 차이점은 무엇입니까?

newsource 2022. 9. 29. 00:57

int(11)와 int(11) UNSIGNARED의 차이점은 무엇입니까?

의 차이점은 무엇입니까?int(11)그리고.int(11) UNSIGNED?

UNSIGNARED 유형은 음수일 수 없지만 양의 정수 범위는 두 배입니다.TINYINT, SMARINT, MEDIOMINT, INT 및 BIGINT 유형은 모두 서명된 버전과 서명되지 않은 버전을 가지고 있습니다.

INT의 경우 범위는 다음과 같이 정의됩니다.

Type          Storage         Min           Max
INT                 4 -2147483648    2147483647
INT UNSIGNED        4           0    4294967295

서명된 유형과 서명되지 않은 유형은 동일한 저장소 공간(INT의 경우 4바이트)을 사용합니다.

상세한 것에 대하여는, 메뉴얼을 참조해 주세요.

INT는 다음에서 시작됩니다.-2147483648로.+2147483647
UNSIGNARED INT의 발신기지0로.4294967295

11괄호 사이의 값은 숫자에 영향을 주지 않으며 표시되는 방식만 다를 뿐입니다.

UNSIGNARED는 음수가 아닌 값만 유지할 수 있음을 의미합니다. 예를 들어, 유지할 수 없습니다.-20

UNSIGNED바로 그 숫자입니다. 모두 양수(부호 없음)입니다.바이트 크기는 동일하지만 데이터가 음수가 되지 않으면 양수가 더 커질 수 있습니다.11 은, 취득해 표시하는 문자수의 디폴트입니다.정확한 크기를 확인하려면 사용 중인 DBMS와 유형을 검색하십시오.

모든 정수 타입에는 옵션(비표준) Atribut UNSIGNED 를 사용할 수 있습니다.부호 없는 유형은 열에 음수가 아닌 숫자만 허용하거나 열에 대해 더 큰 숫자 범위가 필요할 때 사용할 수 있습니다.예를 들어 INT 열이 UNSIGNARED인 경우 열의 범위는 같지만 끝점은 -2147483648 및 2147483647에서 0 및 4294967295로 바뀝니다.

여기를 참조해 주세요.http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html

부호 없는 것은 음수가 들어갈 수 없습니다.

부호 없는 정수는 0 ~2^(정수 필드의 비트 단위 크기)의 값을 처리할 수 있습니다.부호화된 정수는 -2^(정수필드-1의 크기)에서 2^(정수필드-1의 크기)-1까지의 값을 처리할 수 있다.

int와 int(10)의 차이를 알고 싶을 것 같습니다.

예를 들어 int(10)의 1에는 제로필 키워드를 지정하고, 1에는 제로필 키워드를 붙입니다.이 테이블은 다음과 같습니다.

create table tb_test_int_type(
    int_10 int(10),
    int_10_with_zf int(10) zerofill,
    unit int unsigned
);

몇 가지 데이터를 삽입합니다.

insert into tb_test_int_type(int_10, int_10_with_zf, unit)
values (123456, 123456,3147483647), (123456, 4294967291,3147483647) 
;

그리고나서

select * from tb_test_int_type; 

# int_10, int_10_with_zf, unit
'123456', '0000123456', '3147483647'
'123456', '4294967291', '3147483647'

알 수 있다

  • 키워드를 붙여zerofill, 10보다 작은 num은 0을 채웁니다.단, num은 0을 채우지 않습니다.zerofill안될 거에요.

  • 두 번째로 키워드와 함께zerofillint_10_with_zf는 부호 없는 int 타입이 됩니다.a 를 삽입하면 에러가 발생합니다.Out of range value for column...... 단int_10.int_10에는 (-)를 할 수 하면 오류 "4294967291" int_10"이 .Out of range value for column.....

결론:

  1. ""를 하지 않음int int(X)zerofill 범위 int "-2147483648~2147483647" 와

  2. 「」를 ) int(X)zerofill0 ~num의 의 unsigned int range 0 ~4294967295 의 왼쪽에 이 .

언급URL : https://stackoverflow.com/questions/5238062/whats-the-difference-in-int11-and-int11-unsigned