---
title: "Decimaler vid division"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/57366-decimaler-vid-division"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Moppan"
published: "2002-10-29T09:52:45.000Z"
updated: "2002-10-29T13:24:20.000Z"
replies: 6
views: 329
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/57366-decimaler-vid-division"
---

# Decimaler vid division

## #1 — Moppan, 2002-10-29T09:52Z

Hallå!

Hur kan jag få ett decimaltal som resultat av en division som jag gör i en Stored Procedure? Som jag förstår så blir resultatet en integer. 

Såhär står det i hjälpen:
"If an integer dividend is divided by an integer divisor, the result is an integer that has any fractional part of the result truncated".

Hur gör jag för att få en decimal?

IF @Hours \> 0
BEGIN
   SET @Total = @Hours\* 100/@Hours2 
END

//Mia

Permalänk: https://www.webforum.nu/p/57366

## #2 — @nders, 2002-10-29T09:55Z

Prova att deklarera variablerna som Float istället.

Mvh,

Permalänk: https://www.webforum.nu/p/837054

## #3 — Moppan, 2002-10-29T09:59Z

Det är / som returnerar en integer. Jag undrar om det finns någon annan "divisions operator" att använda i SQL?

Permalänk: https://www.webforum.nu/p/837059

## #4 — Moppan, 2002-10-29T09:59Z

Hjälper såvida inte med Float

Permalänk: https://www.webforum.nu/p/837060

## #5 — LarsG, 2002-10-29T10:15Z

```
declare @total decimal(10,2)
if  @hours > 0 
SET @Total = cast(@Hours as dec(10,2))* 100.0/cast(@Hours2  as dec(10,2))
```

Permalänk: https://www.webforum.nu/p/837069

## #6 — Moppan, 2002-10-29T11:16Z

SET @Total =  cast(@Hours as dec(10,2))\* 100.0/cast(@Hours2  as dec(10,2)) fungerar ej!

85/174 = 48% Vill ha 48.9%

Permalänk: https://www.webforum.nu/p/837129

## #7 — LarsG, 2002-10-29T13:24Z

Sträänge.

Det är de ingående datatyperna som avgör vilken datatyp det blir vid division.

```
declare @total decimal(10,2)
if  @hours > 0 
SET @Total = round(cast(@Hours*100.0 as dec(10,2))/cast(@Hours2  as dec(10,2)),1
```

Så då?

Permalänk: https://www.webforum.nu/p/837233

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/57366-decimaler-vid-division
