Не совсем понятно, почему я получил @res = 1
при печати return 0.57
? Мне нужно вернуть результаты numberri c в моей функции UDF.
DECLARE @text1 VARCHAR(255) = 'some text'
DECLARE @text2 VARCHAR(255) = 'same another text'
DECLARE @res AS NUMERIC
DECLARE @i INT = 0
DECLARE @exist_counter INT = 0
WHILE @i < (LEN(@text1) - 2)
BEGIN
SET @i = @i + 1
IF CHARINDEX(SUBSTRING(@text1, @i, 3), @text2) > 0
BEGIN
SET @exist_counter = @exist_counter + 1
--print @exist_counter
--print SUBSTRING(@text1,@i,3)
END
END
PRINT @i
PRINT @exist_counter
PRINT cast(@exist_counter AS NUMERIC) / cast(nullif(@i, 0) AS NUMERIC)
SET @res = cast(@exist_counter AS NUMERIC) / cast(nullif(@i, 0) AS NUMERIC)
PRINT @res