Decimal platser i kolumn

Databaser & SQL

2 svar · 217 visningar · startad av Mharlin

Medlem sedan juni 200277 inlägg
Trådstart#1

Jag måste få ut ett tal med decimaler men av nån anledning så sätter SQL servern den kolumnen till int. Även om jag använder round, cast eller convert så är slutresultatet alltid en int. Hur kan jag ändra datatypen på en kolumn.

select [NAME], ABSTRACT, [COUNT], round(100*[COUNT]/[COUNT_TOT], 3) as "PERCENT" from #tmpTOTAL
order by [NAME], [COUNT] desc

Jag tycker att jag borde få tillbaks 3 decimaler men eftersom den bara ger tillbkas int så funkar det inte så bra. Har även försökt skicka tillbaks det som sträng men det funkar inte heller.

Medlem sedan dec. 200012 464 inlägg
#2
select [NAME],
          ABSTRACT, 
          [COUNT], 
         round(100.000*cast ([COUNT] as decimal (18,3))/
                                  cast([COUNT_TOT] as dec(18,3)), 3) as "PERCENT" 
from #tmpTOTAL
order by [NAME], [COUNT] desc
Medlem sedan juni 200277 inlägg
#3

Tack Lars,
Det funkar hur bra som helst :-)

251 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)