/ / Come devono essere restituiti i valori percentuali utilizzando con SQL? [chiuso] - sql, sql-server, tsql

Come devono essere restituiti i valori percentuali usando con SQL? [chiuso] - sql, sql-server, tsql

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 № 1

Se 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.