programing

BIGINT(8)는 MySQL이 저장할 수 있는 가장 큰 정수입니까?

newstyles 2023. 7. 23. 14:07

BIGINT(8)는 MySQL이 저장할 수 있는 가장 큰 정수입니까?

지금은 더 큰 숫자를 가지고 있습니다.INT처리할 수 있습니다.

이게 좀 부끄럽지만 솔직히 뭐가 뭔지는 잘 모르겠어요.BIGINT(8)8은 최대 비트 값입니까, 아니면 최대 길이입니까?

그렇게BIGINT(1)한 자리 숫자만 될 수 있습니까?아니면BIGINT(1)다른 것?생각합니다TINYINT(1)맥스는 127인데 어떻게 되는 거지?

  • 내가 만들 수 있는 가장 큰 것은 무엇입니까?BIGINT?
  • MySQL에 정수로 저장할 수 있는 최대 수는 몇 개입니까?

숫자는 데이터가 표시되는 방식을 나타냅니다. 데이터가 저장되는 방식에는 영향이 없습니다.

설명서에서:

MySQL은 유형에 대한 기본 키워드(예: INT(4)) 뒤에 괄호 안에 정수 데이터 유형의 표시 너비를 선택적으로 지정하기 위해 다른 확장을 지원합니다.이 선택적 표시 너비는 응용 프로그램에서 열에 지정된 너비보다 작은 너비를 가진 정수 값을 공백으로 왼쪽 패딩하여 표시하는 데 사용할 수 있습니다.즉, 이 너비는 결과 집합과 함께 반환되는 메타데이터에 있습니다.사용 여부는 신청에 달려 있습니다.)

표시 너비는 열에 저장할 수 있는 값의 범위를 제한하거나 열에 지정된 너비를 초과하는 값에 대해 표시되는 자릿수를 제한하지 않습니다.예를 들어, SMALLINT(3)로 지정된 열의 일반적인 SMALLINT 범위는 -32768 - 32767이며, 세 문자 이상의 문자를 사용하여 세 문자가 허용하는 범위를 벗어나는 값이 표시됩니다.

BIGINT는 항상 8바이트이며 -922372036854775808 ~ 922372036854775807(서명 없음) 또는 0 ~ 18446744073709551615(서명 없음)를 저장할 수 있습니다.

답변은 이 개요에 있습니다.BIGINT는 실제로 8바이트입니다.TinyInt only 1.

하지만, 저는 범위를 고려하지 않습니다.-9223372036854775808로.9223372036854775807매우 당황스럽습니다, +/-2^63 :).

숫자는 표시될 때 숫자의 너비만 정의합니다.숫자 유형의 크기는 mysql 설명서를 참조하십시오.

괄호 사이의 숫자는 표시 너비이며 데이터 유형이 실제로 저장할 수 있는 숫자 범위와는 무관합니다.

MySQL에서BIGINT숫자 데이터 유형에는 저장을 위해 8바이트가 필요하며 범위는 다음과 같습니다.

  • 서명된 범위는 -922372036854775808 ~ 922372036854775807(즉63, -2 ~ 263-1)입니다.
  • 부호 없는 범위는 0 ~ 18446744073709551615(즉, 064-1 ~ 2)입니다.

자세한 내용은 MySQL 숫자 데이터 유형을 참조하십시오.

128비트 정수를 저장하려면 BINARY(16)를 사용할 수 있습니다.

252의 경우:

오른쪽을 선택합니다(CONCAT(반복)("\0", 16).UNHEX(CONV(252,10,16)), 16);

또는 동등한 값:

언헥스(오른쪽)를 선택합니다(반복("0", 32).HEX(252), 32);

(그러나 MySQL 정수 계산은 64비트)

또한 최신 IPv6 함수 INET6_ATON() 및 INET6_NTOA(), http://dev.mysql.com/doc/refman/5.6/en/miscellaneous-functions.html#function_inet6-aton 및 VARB 사용 방법을 참조하십시오.INARY(16).

언급URL : https://stackoverflow.com/questions/1632312/is-bigint8-the-largest-integer-mysql-can-store