Prvni verze
This commit is contained in:
43
_sql/ef_Vyroba_VratCisloSarze.sql
Normal file
43
_sql/ef_Vyroba_VratCisloSarze.sql
Normal file
@ -0,0 +1,43 @@
|
||||
-- dbo.ef_Vyroba_VratCisloSarze
|
||||
CREATE FUNCTION dbo.ef_Vyroba_VratCisloSarze (@Datum DATETIME=NULL, @Typ TINYINT=1, @iso BIT=1)
|
||||
RETURNS NVARCHAR(5)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
DECLARE
|
||||
@smena TINYINT=0,
|
||||
@pracDen NCHAR(1)=N'',
|
||||
@tyden NCHAR(2)=N'',
|
||||
@retVal NVARCHAR(5),
|
||||
@den TINYINT,
|
||||
@NYden TINYINT
|
||||
|
||||
|
||||
SET @Datum = ISNULL(@Datum, GETDATE())
|
||||
SELECT @smena=Smena, @Datum=Datum FROM dbo.ef_GetDatumASmenu (@Datum)
|
||||
|
||||
SET @NYden = DATEPART(weekday, '20240101') -- pondeli
|
||||
|
||||
--SET @pracDen = CONVERT(nchar(1), (DATEPART(weekday, @Datum) + @@DATEFIRST - 2) % 7 + 1)
|
||||
SET @den = DATEPART(weekday, @Datum)
|
||||
IF (@NYden=1) -- system ma nastaveno pondeli=1, Rootvin potrebuje nedele=1
|
||||
BEGIN
|
||||
IF (@den=7) -- nedele=7 -> nedele=1
|
||||
SET @den = 1
|
||||
ELSE
|
||||
SET @den = @den + 1
|
||||
END
|
||||
SET @pracDen = CONVERT(nchar(1), @den)
|
||||
|
||||
|
||||
IF (@typ=1)
|
||||
SET @tyden = IIF(@iso=0, FORMAT(DATEPART(week, @Datum), '00', 'cs-cz'), FORMAT(DATEPART(iso_week, @Datum), '00', 'cs-cz'))
|
||||
|
||||
IF (@typ=2)
|
||||
SET @tyden = IIF(@iso=0, FORMAT(DATEPART(week, @Datum), '00', 'en-gb'), FORMAT(DATEPART(iso_week, @Datum), '00', 'en-gb'))
|
||||
|
||||
|
||||
SET @retVal = RIGHT(FORMAT(@Datum, 'yy'), 1) + @tyden + @pracDen + FORMAT(@smena, '0')
|
||||
RETURN @retVal
|
||||
|
||||
END
|
||||
Reference in New Issue
Block a user