Ciao.
Non ho ben capito l'utilita' del parametro M nella descrizione di un campo numerico di una tabella.
Ad esempio: int(3).
La documentazione dice:
M Indicates the max display size. Max legal display size is 255.
Cioe'?![]()
Ciao.
Non ho ben capito l'utilita' del parametro M nella descrizione di un campo numerico di una tabella.
Ad esempio: int(3).
La documentazione dice:
M Indicates the max display size. Max legal display size is 255.
Cioe'?![]()
M significa il numero complessivo dei digit raffigurati tra int e decimali.
FLOAT[(M,D) con M rappresenti il numero totale dei digit visualizzati, con D il numero dei decimali.
FLOAT(10,2) equivale a 12345678.12 cioe' 8 interi + 2 decimali.
![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Grazie per la risposta ma ho ancora un dubbio.
Visualizzati in che senso? Una SELECT?
Perche' se il campo e' definito int(3) posso inserire e visualizzare interi piu' grandi di tre cifre?
Grazie ancora.
esatto compresi i segni "." ed eventualmente "-", quindi i numeri positivi (UNSIGNED) avranno sempre un ordine di grandezza superiore.[supersaibal]Originariamente inviato da piero.mac
M significa il numero complessivo dei digit raffigurati tra int e decimali.
FLOAT[(M,D) con M rappresenti il numero totale dei digit visualizzati, con D il numero dei decimali.
FLOAT(10,2) equivale a 12345678.12 cioe' 8 interi + 2 decimali.
[/supersaibal]
perchè in "INT(M)" M non rappresenta la grandezza massima del numero che puoi inserire ma bansì il valore minimo di visualizzazione della colonna stessa in caso di utilizzo dell'atributto ZEROFILL.[supersaibal]Originariamente inviato da noname001
Grazie per la risposta ma ho ancora un dubbio.
Visualizzati in che senso? Una SELECT?
Perche' se il campo e' definito int(3) posso inserire e visualizzare interi piu' grandi di tre cifre?
Grazie ancora. [/supersaibal]
Spero di non avere detto una boiata![]()
Un attimo... ma se i segni "." e "-" sono compresi, l'esempio di piero.mac dovrebbe essere FLOAT(11,2) ?[supersaibal]Originariamente inviato da Sgurbat
esatto compresi i segni "." ed eventualmente "-", quindi i numeri positivi (UNSIGNED) avranno sempre un ordine di grandezza superiore. [/supersaibal]
Perche' 12345678.12 e' formato da 8 interi, un punto e due decimali. Chi ha ragione?
E' importante per me saperne di piu' perche' devo fare dei controlli precisi sui dati.
Prima ho semplificato al max la risposta. In realta' il comportamento dipende da tutta la configurazione del campo compreso UNSIGNED, SIGNED e dal tipo di campo.
Mentre per INT & c. cioe' tutti i tipi di campi numerici interi, il numerello che segue e' solo significativo per i digit da mostrare poiche' i relativi campi sono a dimensione fissa, per i campi a dimensione variabile che possono contenere decimali come float, double decimal si hanno comportamenti diversi. Non sono cosi' automatiche come si potrebbe pensare.
Vedi la tabella delle occupazioni richieste dai vari campi. E poi fai le tue prove. Di certo M definisce la dimensione del campo + qualcos'altro eventuale.
http://dev.mysql.com/doc/mysql/en/st...uirements.html
![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
![]()
![]()
![]()
Anch'io non ho capito!!!
Ho provato a dichiarare un campo INT(1) UNSIGNED ed ho inserito in questo campo il valore 4294967295.
Visto che il numero 1 tra parentesi indica i digit visualizzati, perchè se eseguo una select mi viene restituito l'intero valore e non un solo digit?
![]()
Aiuto!!!!
-- vuk