freddykMedlem sedan okt. 2006103 inlägg 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 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 ;)
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
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?