webForumDet fria alternativet

Decimal platser i kolumn

Databaser & SQLur Databashanterare & SQL

2 svar · 204 visningar · startad av Mharlin

Medlem sedan juni 200277 inlägg
Frågan#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 :-)

133 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)