これがiso_yearの関数です。その背後にあるロジックは、パラメーターの日付からの木曜日が年を決定することです。
CREATE FUNCTION [dbo].[f_isoyear]
(
@p_date datetime
)
RETURNS int
as
BEGIN
RETURN datepart(yy, dateadd(wk, datediff(d, 0, @p_date)/7, 3))
END
これがiso_yearの関数です。その背後にあるロジックは、パラメーターの日付からの木曜日が年を決定することです。
CREATE FUNCTION [dbo].[f_isoyear]
(
@p_date datetime
)
RETURNS int
as
BEGIN
RETURN datepart(yy, dateadd(wk, datediff(d, 0, @p_date)/7, 3))
END