webForumDet fria alternativet

datum + 30 dagar

3 svar · 492 visningar · startad av freddyk

freddykMedlem sedan okt. 2006103 inlägg
#1

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! :)

freddykMedlem sedan okt. 2006103 inlägg
#2

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 ;)

MetatronMedlem sedan dec. 200697 inlägg
#3

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

freddykMedlem sedan okt. 2006103 inlägg
#4

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?

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