---
title: "datum + 30 dagar"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/169214-datum-30-dagar"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "freddyk"
published: "2008-02-20T10:21:13.000Z"
updated: "2008-02-21T09:15:16.000Z"
replies: 3
views: 495
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/169214-datum-30-dagar"
---

# datum + 30 dagar

## #1 — freddyk, 2008-02-20T10:21Z

Tjena,

Försöker mig på en Function i SQL Server 2005

Vill ha en funktion som räknar ut betalningsvillkor.

Ex: Fakturadatum = 20080220, Betalningsvillkor = 30 dagar

Vill då ha ut en sista betalningsdag (date-format) ur detta

20080220 + 30 dagar

Hur gör man detta? Hur ser formeln ut?

Tack på förhand! :)

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

## #2 — freddyk, 2008-02-20T10:30Z

tror jag hittade det...

men vilket är bästa sättet?
använder man...
SET @adddays = 30
SET NOCOUNT OFF
SELECT @startdate  AS 'Fakturadatum', 
   @startdate + @adddays AS 'Betalas senast'

Eller använder man...
SELECT @startdate AS Fakturadatum, (DATEADD(dd,@adddays,@startdate)) AS Betalas Senast

Kan detta stämma, månntro?

Någon som kan hjälpa mig med en Function för detta som returnerar ett datum?

Tack... igen ;)

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

## #3 — Metatron, 2008-02-20T10:56Z

SELECT @startdate AS Fakturadatum, (DATEADD(day,30,@startdate)) AS 'Betalas Senast'

Så skulle jag göra.

\--- EDIT --- 

Fast testade lite. Beror också på reultat du vill ha.

select getdate(), dateadd(day, 30, getdate())

Ger:

2008-02-20 11:53:01.490	2008-03-21 11:53:01.490

Och

select getdate(), dateadd(day, 29, getdate())

Ger:

2008-02-20 11:53:30.437	2008-03-20 11:53:30.437

Så beroende på resultatet du vill ha sätt 29 alt 30

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

## #4 — freddyk, 2008-02-21T09:15Z

> **Metatron skrev:**
>
> SELECT @startdate AS Fakturadatum, (DATEADD(day,30,@startdate)) AS 'Betalas Senast'
> 
> Så skulle jag göra.
> 
> 
> \--- EDIT --- 
> 
> Fast testade lite. Beror också på reultat du vill ha.
> 
> select getdate(), dateadd(day, 30, getdate())
> 
> Ger:
> 
> 2008-02-20 11:53:01.490	2008-03-21 11:53:01.490
> 
> Och
> 
> select getdate(), dateadd(day, 29, getdate())
> 
> Ger:
> 
> 2008-02-20 11:53:30.437	2008-03-20 11:53:30.437
> 
> 
> Så beroende på resultatet du vill ha sätt 29 alt 30

Ja, jag testade också det. Brukligt är väl att det är 30 dagar efter det datum som fakturan skapades (faktureringsdatum). Så jag tror att 30 kanske är mest korrekt att använda? Har ni ngn aning om hur jag kan nollställa tiden till 00:00:00, i samma veva?

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/169214-datum-30-dagar
