int(5) - range?

kvn

programmer
int(5) - range?

Привет.

Ламмерский вопрос, но каков диапазон такого поля:

int(5) unsigned ?

В доке написано, что unsigned int - 0...2147483647.
но меня смущает (5)..., это по доке - длинна.
Ды к вот внимание "ламмерский вопрос": длинна чего?

и на что она влияет?

Спасибо.
 

leosha

Старожил PHPCLub
>длинна чего?
поля твоего, как ни странно

>и на что она влияет?
на диапазон значений которые ты туда можешь ввести.
На физический размер, занимаемый этой записью.
 

Crazy

Developer
На физический размер или на ширину поля при выводе? IMHO, все же второе.
 

kvn

programmer
т.е. если я правильно понял, то если я сделаю поле int(2), то максимальное число, котороя я смогу туда запихнуть - это 99?

но ведь это не так.
у меня в поле инт(5) хранились числа, типа: 259635, т.е. шестизначные.
Кто то может объяснить ситуацию?
 

kvn

programmer
INT(M)
M - Indicates the maximum display size. The maximum legal display size is 255.
Это немного просветляет ситуевину.
Но опять же, на что это влияет, если в поле int(2) будет число 1000, то я что при SELECT pole FROM table, увижу 10?
Это ведь не так. Или я опять что-то путаю?
 

Nime

Guest
Another extension is supported by MySQL for optionally specifying the display width of an integer value in parentheses following the base keyword for the type (for example, INT(4)). This optional width specification is used to left-pad the display of values whose width is less than the width specified for the column, but does not constrain the range of values that can be stored in the column, nor the number of digits that will be displayed for values whose width exceeds that specified for the column. When used in conjunction with the optional extension attribute ZEROFILL, the default padding of spaces is replaced with zeroes. For example, for a column declared as INT(5) ZEROFILL, a value of 4 is retrieved as 00004.
 

leosha

Старожил PHPCLub
Уау!!! Вот это да. Посыпаю голову пеплом, рву волосы на жопе.
Я был _полностью_ уверен, что вместо TINYINT, можно спокойно писать INT(1). Что я и проделывал обычно. Вот это засада. Вот это торомоз. Сорри всем.
 

Yurik

/dev/null
Всё-таки не зря в школе Pascal учат:

var a:real;
begin
Write(a:10:0); {а по прежнему real}
end.
 
Сверху