Vraag : Het Scalaire gebruiken van de Functie TSQL uitgezocht binnen de functie & exclusief datum

Ik verontschuldig me vooraf voor het vragen van wat waarschijnlijk een basisvraag is, is het probleem dat ik aan SQL en het hebben van moeilijkheden met syntax.

I am schrijvend deze functie nieuw ben:

Alter functiedbo. Fn_get_last_day
(@FN_InputDt datetime

Returns @d
as
begin

declare @d datetime
@d = @FN_InputDt
geval/>
select @d =
uitgezochte dag (@Fn_InputDt) DatePart (D, @FN_InputDt)
end

Return

End

Here de teruggekeerde fouten zijn:
Msg 156, Niveau 15, Staat 1, Procedure FN_GET_LAST_DAY, lijn16
incorrect dichtbij het „uitgezochte“ sleutelwoord.
Msg 102, Niveau 15, Staat 1, Procedure FN_GET_LAST_DAY, br D'Msg 102, Niveau 15, Staat 1, Procedure FN_GET_LAST_DAY br van de lijn16
Incorrrect dichtbij 'END'
, van de lijn21
Incorrect dichtbij '

Antwoord : Het Scalaire gebruiken van de Functie TSQL uitgezocht binnen de functie & exclusief datum

Nu zie ik daarna wat u bent.

verander functiedbo. Fn_get_last_day (@FN_InputDt datetime)
winst int.
zoals
begin
keer geval terug wanneer anders dag @FN_InputDt=0 toen 0 (dateadd (m, 1+datediff (m, 0, @FN_InputDt), 0) - 1) eind
eind

X = datediff (m, 0, @FN_InputDt) -- berekent hoeveel maanden van „virtuele datum 0“ zijn verstreken
Y = dateadd (m, 1+X, 0) -- voegt 1+X maanden aan „virtuele datum 0“ toe, zodat zijn wij in volgende maand (X+1)
Nota: de bijwerking is dat het ook de dag-in-maand aan 1st dag van maand plaatste
Z = y-1  -- verg één dag weg, zodat zijn wij terug in deze maand, bij de laatste dag
Dag (Z)   --- krijg de dag van maand
Andere oplossingen  
 
programming4us programming4us