Возникла задача по разбиения строкового столбца, в котором есть разделители, например, точка с запятой на отдельные столбцы. Для этого из оригинальной строки нужно получать подстроки с учетом порядкового номера/индекса. Сделать это можно, написав sql-функцию следующего вида:
CREATE FUNCTION [dbo].[f_GetValueFromSeparatedStringByIndex] ( @InputString nvarchar(MAX), @Index int, @Separator nvarchar(1) = ';' ) RETURNS nvarchar(255) AS BEGIN DECLARE @Result nvarchar(255) = NULL SELECT @Result = TRIM(Value) FROM ( SELECT TRIM(value) as Value, ROW_NUMBER() OVER(ORDER BY (SELECT 1)) as OrderNumber FROM string_split(@InputString, @Separator) ) as t WHERE OrderNumber = @Index RETURN @Result END
Комментариев нет:
Отправить комментарий