Temat: [MS SQL] przedostatnia środa poprzedniego miesiąca ...> >
> > Pozdrawiam,
> > Krzysiek
> >
> >
> Prosze bardzo
> CREATE FUNCTION UstalSrode (@Data smalldatetime)
> RETURNS smalldatetime
> AS
> BEGIN
> Declare @DataK smalldatetime, -- data ostatniego dnia poprzedniego
miesiąca
> @NrDnia tinyint -- nr dnia w tygodniu względem Środy
> Set @DataK = cast('1-' + str(month(@Data)) + '-' + str(year(@Data)) as
> smalldatetime)-1
> Set @NrDnia = datepart(dw,@DataK)
> Select @NrDnia = Case When @NrDnia < 3 Then @NrDnia +5 Else @NrDnia -2
End
> RETURN @DataK - @NrDnia + 1 -7
>
> END
Uwaga: w linii Set @DataK = cast('1-' + str(month(@Data)) + '-' +
str(year(@Data)) as
smalldatetime)-1
zakładam, że baza ma ustawioną odpowiedni format daty. Jesli jest inny to
należy tą linię odpowiednio zmodyfikować! Źródło: forum.hotscripts.pl/showthread.php?t=10047
Temat: [MS SQL] przedostatnia środa poprzedniego miesiąca ...środę poprzedniego miesiąca. Czy ma ktoś pomysł, jak to policzyć?
>
> Pozdrawiam,
> Krzysiek
>
>
Prosze bardzo
CREATE FUNCTION UstalSrode (@Data smalldatetime)
RETURNS smalldatetime
AS
BEGIN
Declare @DataK smalldatetime, -- data ostatniego dnia poprzedniego miesiąca
@NrDnia tinyint -- nr dnia w tygodniu względem Środy
Set @DataK = cast('1-' + str(month(@Data)) + '-' + str(year(@Data)) as
smalldatetime)-1
Set @NrDnia = datepart(dw,@DataK)
Select @NrDnia = Case When @NrDnia < 3 Then @NrDnia +5 Else @NrDnia -2 End
RETURN @DataK - @NrDnia + 1 -7
END Źródło: forum.hotscripts.pl/showthread.php?t=10047
zanotowane.pldoc.pisz.plpdf.pisz.plprojektlr.keep.pl
|