datum + 30 dagar

Databaser & SQL

3 svar · 529 visningar · startad av freddyk

Medlem sedan okt. 2006103 inlägg
Trådstart#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! :)

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

Medlem 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

Medlem 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?

272 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
149 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)