Files
Fuchs_Intranet/Fuchs_Database/dbo/Functions/date_addcustom.sql
T
Stefan 10ecdfa2e4 Add Fuchs_Database SSDT project (schema source of truth)
Adds the SQL Server Data Tools project for the fuchs_fds database — tables,
table types, functions and stored procedures that the backend calls (e.g.
fds__getInvoice, fds__merge_bankingtransactions, fds__tt__bankingtransactions,
fds__admin_getReportCatalog, fis_* auth). Build/model caches (bin, obj,
*.dbmdl, *.jfm, *.user) are git-ignored.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 14:50:54 +02:00

27 lines
963 B
Transact-SQL

-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date, ,>
-- Description: <Description, ,>
-- =============================================
CREATE FUNCTION [dbo].[date_addcustom]
(
@date date
,@phrase varchar(10)
)
RETURNS date
AS
BEGIN
DECLARE @returndate date, @numpart integer = TRY_PARSE(left(@phrase, patindex('%[^0-9]%', @phrase + '.') - 1) as integer), @defpart varchar(10) = LOWER(RIGHT(@phrase, LEN(@phrase) - patindex('%[^0-9]%', @phrase + '.') + 1));
SET @returndate = CASE WHEN @numpart is null then null
WHEN @defpart = 'wd' THEN [dbo].[AddBusinessDays](@date, @numpart)
WHEN @defpart = 'd' THEN DATEADD(DAY, @numpart, @date)
WHEN @defpart = 'y' THEN DATEADD(YEAR, @numpart, @date)
WHEN @defpart = 'm' THEN DATEADD(Month, @numpart, @date)
WHEN @defpart = 'wk' THEN DATEADD(WEEK, @numpart, @date)
ELSE @date
END;
RETURN @returndate;
END