• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Gurzi

Duvida de datatype

7 mensagens neste tópico

Supostamente quando definimos um campo como inteiro ele mostra o lenght, julgava que ao dizer 4 queria dizer 4 dígitos.

Ou seja

datatype  lenght

int          4

Aceitaria 4 digitos, máximo 9999  não ??

é que defini um int 4 e ele deixa até 10 digitos.

Se fosse 4 bytes seria 12 digitos visto que 1 byte permite 3 digitos(255)

estou confuso!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Realmente algo estranho.. Qual é o SGBD?

Já agora experimenta meter decimal em vez de inteiro: DECIMAL(4,0)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

4 bytes -> 2^(4*8) = 2^32 = 4294967296

logo, permite representar qualquer número de 9 dígitos e alguns de 10 dígitos.

com 1 byte não consegues representar todos os números de 3 dígitos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim tens razão..

Com 1 byte não consigo representar nada maior que 255!

então quer dizer que o SGBD indica os bytes e não o numero de digitos!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boax...

com int, podemos ter valores de 0 et 4294967295 se for UNSIGNED, senao os valors variam entre -2147483648 e 2147483647.

datatype  lenght

int          4

Aceitaria 4 digitos, máximo 9999  não ??

nao...

existem algumas bd´s assim... so estou a ver cobol, em que pic 9(4)  aceitava valores no maximo com 4 digitos...

ter int(4), o que faz, armazena os valores ate ao limite acima mencionado, mas em parceria com outras propriedades, pode ter efeitos...

por exemplo :

INT(4) ZEROFILL NOT NULL DEFAULT 0

o que vai fazer, é que se nao tiver quatro digitos, preenche com zeros... se introduzires 123  ele vai mostar 0123

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

em mysql quase que ia jurar que o length era o tamanho dos campos xD

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boax ....

em mysql quase que ia jurar que o length era o tamanho dos campos xD

sim...se se tratar de certos tipos de campos....

por exemplo char(4) ou varchar(4) --- aceitam no maximo 4 letras...

Decimal(10,2)  aceita no maximo 10 digitos, dos quais 2 sao apos a virgula...

agora no caso de inteiros, biginteiros e smallinteiros... aplica-se o que eu disse anteriormente .

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora