Float è approssimata numero tipo di dati, il che significa che non tutti i valori nell'intervallo tipo di dati possono essere rappresentati esattamente.
Decimale/numerico è un tipo di dati di precisione fissa, il che significa che tutti i valori nell'intervallo del tipo di dati possono essere rappresentati esattamente con precisione e scala. È possibile utilizzare il decimale per risparmiare denaro.
La conversione da decimale o numerico a virgola mobile può causare una perdita di precisione. Per i tipi di dati decimali o numerici, SQL Server considera ciascuna combinazione specifica di precisione e scala come un tipo di dati diverso. DECIMAL (2,2) e DECIMAL (2,4) sono tipi di dati diversi. Ciò significa che l'11.22 e l'11.2222 sono tipi diversi, sebbene non sia questo il caso per float. Per FLOAT (6) 11.22 e 11.2222 sono gli stessi tipi di dati.
È inoltre possibile utilizzare il tipo di dati denaro per risparmiare denaro. Questo è un tipo di dati nativo con precisione a 4 cifre per soldi. La maggior parte degli esperti preferisce questo tipo di dati per risparmiare denaro.
Riferimento 1 2 3
fonte
2017-09-18 09:59:14
Il collegamento decimale e numerico sopra esigenze aggiornamento ad https://docs.microsoft.com/en-us/sql/t-sql/data-types/decimal-and -numeric-Transact-SQL. Il link sopra non esiste più. –
Di solito, quando si tratta di soggetti finanziari è interessante lavorare con ** tipi Integer **, tranne ** in virgola mobile **, e memorizzare i valori come _cents_, invece di _dollars_, ad esempio. – Pedro