Differenza tra tipo di dati

martedì 23 dicembre 2008 - 23.57

luxsor Profilo | Guru

Ciao a tutti,
vorrei sapere la differenza tra il tipo di dati MONEY e NUMERIC in sql server 2005.
Siccome devo memorizzare un "prezzo" e io ho sempre usato il tipo numeric, vorrei sapere se conviene utilizzare MONEY e se vi possono essere problemi durante i calcoli.
Grazie

lbenaglia Profilo | Guru

>vorrei sapere la differenza tra il tipo di dati MONEY e NUMERIC
>in sql server 2005.

Ciao Carmelo,

i Books Online esaudiranno ogni tua curiosità:
http://msdn.microsoft.com/en-us/library/ms179882.aspx
http://msdn.microsoft.com/en-us/library/ms188688.aspx
http://msdn.microsoft.com/en-us/library/ms187746.aspx

>Siccome devo memorizzare un "prezzo" e io ho sempre usato il
>tipo numeric, vorrei sapere se conviene utilizzare MONEY e se
>vi possono essere problemi durante i calcoli.
Puoi utilizzare entrambi senza incorrere in alcun problema di calcolo e senza perdita di precisione.
Approfondisci sui BOL le caratteristiche di questi data type ed utilizza quello che preferisci.

>Grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

luxsor Profilo | Guru

Ciao Lorenzo, grazie per i link che mi hai fornito.
Ti vorrei chiedere:
Se i dovessi memorizzare in una campo (Numeric precisione 10,2) un valore di 1.000.000.000,00 questo mi consumerebbe 9 Byte, invece in un campo (money) mi consumerebbe 8 Byte, quindi è preferibile il campo Money?


lbenaglia Profilo | Guru

>Se i dovessi memorizzare in una campo (Numeric precisione 10,2)
>un valore di 1.000.000.000,00 questo mi consumerebbe 9 Byte
No, dato che non puoi memorizzare quel "numerone" in un numeric(10,2)

DECLARE @n numeric(10, 2) = 1000000000.00; /* Output: Msg 8115, Level 16, State 8, Line 1 Arithmetic overflow error converting numeric to data type numeric. */

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
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 !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5