こんにちは、2 つの日付から週末と英国の祝日との間の営業日数を返す TSQL 関数のスクリプトを作成しようとしています。修正):
CREATE FUNCTION dbo.fn_WorkDays (@StartDate AS DATETIME, @EndDate AS DATETIME)
--Define the output data type.
RETURNS INT
AS
--Calculate the RETURN of the function.
BEGIN
RETURN (SELECT
(DATEDIFF(dd,@StartDate, @EndDate)+1)-(DATEDIFF(wk,@StartDate, @EndDate)*2)-(CASE WHEN DATENAME(dw, @StartDate) = 'Sunday'THEN 1 ELSE 0 END)-(CASE WHEN DATENAME(dw, @EndDate) = 'Saturday' THEN 1 ELSE 0 END)
)END
GO
これで、英国の銀行休業日を保存したテーブルにアクセスできるようになりました (または、必要に応じてコピーできます)。セットアップの画面は次のとおりです。
私はTSQLにかなり慣れていないので、バンクホールのリストを調べて関数の返されるINTからそれらを削除し、関数に渡された2つの日付の間の正しい営業日数を返す方法に苦労しています。
ヘルプとアドバイスをいただければ幸いです (特に、わかりやすい形式で書かれている場合は特に ;))