Я создал функцию, в которую я положил 3 переменные:
@ yy int, @kW int, @Wert varchar (50)
Внутри этой функции я вставляю значения в@ return_variable.
У меня проблемы с @Wert, когда это выглядит так: '14, 15,1,2,4,5,6,7,27 '
create FUNCTION [dbo].[F_Work](@yy int, @kW int, @Wert varchar(50) )
RETURNS
@return_variable TABLE
( Stunden int,
kW int,
Wert varchar(50)
)
AS
BEGIN
declare @Tag date;
declare @wk int ;
BEGIN
set @TAg = (select top 1 StartTime from [dbo].[Work]
where DATEPART(ISO_WEEK, StartTime) = @kW and DATEPART( YY, StartTime) = @yy order by Starttime desc)
Insert into @return_variable (Stunden, kW, Wert )
select SUM(ROUND(CAST(DATEDIFF(minute, A.StartTime, A.EndTime) AS float) / 60, - 0)) , DATEPART( ISO_WEEK, A.StartTime ) as KW, B.Wert
FROM
[dbo].[Work] A join
[dbo].[Workload] B on A.TS_ID = B.TS_ID
where
A.TS_ID in (@Wert )
group by DATEPART( ISO_WEEK, A.StartTime ), B.Wert
order by 3,2
END
return
END
-- select Stunden from [dbo].[F_Work](2018,40,'14,15,1,2,4,5,6,7,27')
Я получаю сообщение об ошибке: преобразование не удалось при преобразовании значения varchar '14, 15,1,2,4,5,6,7,27 'в тип данных tinyint.
Как можно ввести это значениевнутри функции.