Ecco una funzione per iso_year, la logica alla base è che il giovedì della settimana dal parametro date determina l'anno:
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