Esistono due modi possibili per restituire una percentuale:
A) Restituzione della percentuale effettiva (valore 100 *) = 55,00
B) Restituzione come decimale = 0,55
Ho iniziato ad usare l'approccio (A) ma lo notola stringa di formato c # per percentuale moltiplica il valore originale per 100. Qual è la migliore pratica per restituire valori percentuali in sql e svantaggi / ragioni per entrambi gli approcci?
risposte:
2 per risposta № 1Se eseguirai calcoli basati su tale percentuale, ti consigliamo di memorizzarlo come valore decimale come:
Prendi aValue come 100 e aPercent come 55 come il tuo post:
select aValue * aPercent from myTable
(restituisce 0,55)
Tuttavia, se li manterrai e restituirai il valore, o concatenerai come parte di una stringa, sarebbe logico memorizzarlo come un numero intero o una stringa, quindi per SQL Server:
select convert(varchar(6),aPercent) + "%" from myTable
(restituisce "55%")
Qualunque cosa significhi meno scrittura del codice e meno elaborazione è ciò che preferirei.