---
title: "Priser och momssatser"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/161956-priser-och-momssatser"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Troxy"
published: "2007-06-26T10:13:12.000Z"
updated: "2007-07-04T10:46:11.000Z"
replies: 6
views: 685
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/161956-priser-och-momssatser"
---

# Priser och momssatser

## #1 — Troxy, 2007-06-26T10:13Z

Hallå. Det känns som jag sitter här och tragglar matematik på grundskolenivå. Jag använder SQL Server 2000.

Jag har en tabell med massa försäljningsprodukter i.
Fältet "pris" är en float som innehåller priset inkl. moms.
Fältet "moms" är en int som innehåller momssatsen, ex. 12 eller 25.
(Det går säkert att ifrågasätta denna struktur på alla möjliga sätt, men tyvärr så är den inbakad i gamla system som jag inte kan ändra på.)

Nu vill jag göra en SELECT som ger mig priset **exkl. moms**, med två decimaler efter. Man kan säga att jag har två problem:

**Problem #1:** Hur ser formeln ut för att räkna ut priset exkl. moms?
Jag har funderat på "pris / ((moms / 100) + 1)" men går den att förenkla?

**Problem #2:** Det verkar vara lite trix med decimaler när man blandar float och int i uträkningar.
Hur gör jag för att få svaret avrundat till två decimaler?

Tacksam för svar!

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

## #2 — greyhound, 2007-06-26T10:31Z

För att räkna ut ett pris utan moms räknar du: pris \* 0,8
Om det är 25% dvs.

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

## #3 — CatZ, 2007-06-26T10:47Z

Jag brukar spara momsen som float med två decimaler, det blir mycket enklare vid uträkningar.

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

## #4 — LarsG, 2007-06-26T11:09Z

Använd inte float, decimal är bättre för detta ändamål.

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

## #5 — Troxy, 2007-06-26T11:23Z

> **LarsG skrev:**
>
> Använd inte float, decimal är bättre för detta ändamål.

Men alltså jag är låst, får inte ändra datatyperna :P 

> **CatZ skrev:**
>
> Jag brukar spara momsen som float med två decimaler, det blir mycket enklare vid uträkningar.

Jag håller med dig, det är säkert bättre att göra så.
Men samma sak där, jag är låst till datat som jag har eftersom det ligger i replikerade databaser som är kopplade mot system som jag inte kan påverka.

> **greyhound skrev:**
>
> För att räkna ut ett pris utan moms räknar du: pris \* 0,8
> Om det är 25% dvs.

Okej, men det går inte att göra så om man vill få det automatiskt.
För det förekommer tre olika momssatser (25, 12, 6) och då måste jag ha en formel som fungerar för alla.

Dessutom, hur hänger det ihop när man beräknar decimaltal i SQL Server 2000?
Måste alla tal som används i uträkningen vara av samma datatyp för att det ska fungera?

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

## #6 — greyhound, 2007-06-26T11:28Z

> **Troxy skrev:**
>
> För det förekommer tre olika momssatser (25, 12, 6) och då måste jag ha en formel som fungerar för alla.

Jag kom på det ett litet tag efter jag postade   :r

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

## #7 — Troxy, 2007-07-04T10:46Z

```
CONVERT(DECIMAL(8,2), ROUND(pris / ((moms / 100.0)+1.0), 2))prisexkl
```

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/161956-priser-och-momssatser
