Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Consiglio su campo money,numeric,decimal
martedì 13 maggio 2008 - 18.32
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mar 13 mag 2008 - 18:32
Salve ragzzi,
ho letto i books on line ma la domanda la pongo ugualmente:
utilizzo sql server 2005 e devo gestire i campi importo ossia l'euro.
Sql fornisce il campo money che gestisce 4 valori dopo la virgola.
La mia domanda è la seguente: voi quale utilizzereste e qual'è il migliore tra il campo money,numeric e decimal per la mia situazione?
Tenete presente che utilizzo poi come compilatore vbnet.
Ciao e grazie
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
TomClancy
Profilo
| Junior Member
79
messaggi | Data Invio:
mar 13 mag 2008 - 18:48
probabilmente verrò disintegrato per quel che sto per dire.... io cmq preferisco il float e poi me lo gestisco nel software
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 14 mag 2008 - 00:39
>Salve ragzzi,
Ciao!
>ho letto i books on line ma la domanda la pongo ugualmente:
>utilizzo sql server 2005 e devo gestire i campi importo ossia l'euro.
>Sql fornisce il campo money che gestisce 4 valori dopo la virgola.
>La mia domanda è la seguente: voi quale utilizzereste e qual'è
>il migliore tra il campo money,numeric e decimal per la mia situazione?
>
>Tenete presente che utilizzo poi come compilatore vbnet.
Allora, sul VbNet utilizzerei il decimal, o al massimo il double.
Invece su database un money (8Bytes) è un decimal con 4 cifre dopo la virgola, così come uno smallmoney, che però occupa 4Bytes e quindi ha un range di valori più limitato. Quindi si tratta sempre di decimal ma con range diverso e 4 cifre fisse dopo la virgola. Considera che il decimal come minimo tiene 5Bytes.
Ma la scelta a mio avviso, la devi fare in base alla precisione che ti serve. Con l'euro ti bastano le 4 cifre dopo la virgola e quindi possono andare bene anche i tipi di dato valuta che SQL Server ti riserva (proprietari di SQL Server) e magari lo smallmoney che occupa meno spazio del suo fratello maggiore.
Se invece ti serve almeno un money, perchè non stai nel range di valori ammessi dallo smallmoney, puoi pensare di utilizzare un decimal con due cifre dopo la virgola, che potrebbe occupare meno. Insomma, devi sapere il valore massimo che andrai ad inserire e in base a quello, trovare il tipo di dato più piccolo che lo contiene. Meno occupa meglio è.
@TomClancy
> probabilmente verrò disintegrato per quel che sto per dire.... io cmq preferisco il float e poi me lo gestisco nel software
Disintegrato no, ma un appunto lo devo fare
. il float ed il real, sono tipi di dato imprecisi. Vanno bene per i calcoli matematici o fisici ad esempio. Il loro limite , che è un vantaggio in certi casi, è avere la virgola mobile, il che non garantisce arrotondamenti precisi e sicuri da un punto di vistra strettamente monetario. Quindi io dico NO. Mai usare float e real per gli importi monetari.
Dai BOL:
"Approximate-number data types for use with floating point numeric data. Floating point data is approximate; therefore, not all values in the data type range can be represented exactly."
>Ciao e grazie
Di nulla!
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 14 mag 2008 - 11:32
Grazie mille del chiarimento
Ciaoooooo
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !