MSSQL Conversione in "uscita" di un dato.

martedì 24 marzo 2009 - 17.32

atomix82 Profilo | Newbie

Salve mediante una query estraggo da un DB alcuni valori.

SELECT art, des, imp FROM mag WHERE(art = @articolo)

Il problema è che, il rimbambito che ha fatto il database, ha impostato la colonna imp (importo) come FLOAT.

Vorrei, se possibile, che il mio GRIDVIEW riceva un valore in Euro quindi che imp sia convertito da FLOAT a boh MONEY? cioè, che mi esca invece che come adesso:

art desc imp
G223 cannello semplice 12

art desc imp
G223 cannello semplice 12 € (viene un quadratino ma è il simbolo degi euro)

Is it possible?

Grazie di cuore :)

lbenaglia Profilo | Guru

>Il problema è che, il rimbambito che ha fatto il database, ha
>impostato la colonna imp (importo) come FLOAT.

A prescindere dal simbolo della valuta, fai attenzione che FLOAT è un data type approssimato che risulta impreciso per definizione.
REAL e FLOAT sono indicati per calcoli scientifici con molte cifre decimali, dove un errore di approssimazione è ammesso, mentre NON SONO ASSOLUTAMENTE indicati in ambito finanziario dove invece è richiesta la massima precisione.
Per intendersi, quel 12 può essere rappresentato come 11,999999999999999999 o 12,000000000000000001.

Se vuoi un consiglio modifica il data type della colonna utilizzando un data type a precisione fissa come MONEY, SMALLMONEY, DECIMAL o NUMERIC.
Per maggiori dettagli consulta i Books Online.

>Grazie di cuore :)
Prego.

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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5