dbo.QBM_FCVStringToList_i

SQL_TABLE_VALUED_FUNCTION

Created 2026-04-14T23:14:09.760 · modified 2026-04-14T23:14:09.760 · source: live DB sys.objects/sys.sql_expression_dependencies.

Open formatted source/search result

Parameters

NameTypeOutput
@InStringnvarcharno
@Delimiternvarcharno
@SuppressEmptybitno
@CaseSensitivebitno
@DelimiterInRownvarcharno

Referenced objects

SchemaObjectColumn/minorClass
No SQL expression dependencies in snapshot.

Source excerpt

First extracted SQL definition lines from the exported source. Use the full source page for complete context.

Open full formatted source

1create function dbo.QBM_FCVStringToList_i(@InString nvarchar(max) , @Delimiter nvarchar(64) , @SuppressEmpty bit = 0 , @CaseSensitive bit = 0 , @DelimiterInRow
2 nvarchar(1) ) returns @parameters table( OrderNumber int identity , Parameter1 nvarchar(max) collate database_Default , Parameter2 nvarchar(max) collate
3 database_Default , OrderNumberReverse int ) with schemabinding as begin  declare @i int declare @l int declare @SoFar nvarchar(max) declare @char nvarchar
4(64) declare @CountElements int = 0 declare @charindex_DelimiterInRow_Sofar int declare @lenDelim int select @lenDelim = len(@Delimiter) if isnull(@InString
5, N'') = N'' begin goto ende end if trim(isnull(convert(nvarchar(64), @Delimiter), N'')) = N'' begin if len(@Delimiter + '#') > 1  begin select @lenDelim
6 = len(@Delimiter + '#') - 1 end else begin    select @Delimiter = nchar(7) select @lenDelim = 1 end end  if @lendelim = 1 begin  if @CaseSensitive = 0
7 begin if @SuppressEmpty = 1 begin insert into @parameters(Parameter1) select trim(x.value) from string_split (@InString, @Delimiter) x where x.value >
8 ' ' select @CountElements = @@ROWCOUNT end else begin insert into @parameters(Parameter1) select trim(x.value) from string_split (@InString, @Delimiter
9) x select @CountElements = @@ROWCOUNT end end else begin if @SuppressEmpty = 1 begin insert into @parameters(Parameter1) select trim(x.value) from string_split
10 (@InString, @Delimiter collate SQL_Latin1_General_CP1_CS_AS ) x where x.value > ' ' select @CountElements = @@ROWCOUNT end else begin insert into @parameters
11(Parameter1) select trim(x.value) from string_split (@InString, @Delimiter collate SQL_Latin1_General_CP1_CS_AS ) x select @CountElements = @@ROWCOUNT 
12end end if @DelimiterInRow > ' ' begin  update @parameters set Parameter1 = trim(substring(Parameter1, 1, charindex(@DelimiterInRow, Parameter1)-1) ) ,
13 Parameter2 = trim(substring(Parameter1, charindex(@DelimiterInRow, Parameter1) +1 , len(Parameter1))) where charindex(@DelimiterInRow, Parameter1) > 0
14 end goto setReverse end select @l = len(@InString) select @Sofar = N'' select @i = 1 while @i <= @l begin select @Char = substring(@InString, @i, @lenDelim
15)  if ( @CaseSensitive = 1 and @Char = @Delimiter collate SQL_Latin1_General_CP1_CS_AS ) or (@CaseSensitive = 0 and @Char = @Delimiter collate SQL_Latin1_General_CP1_CI_AS
16 ) begin select @Sofar = trim(@Sofar) if @Sofar > ' ' or @SuppressEmpty = 0 begin if @DelimiterInRow > ' ' begin select @charindex_DelimiterInRow_Sofar
17 = charindex(@DelimiterInRow, @Sofar) if @charindex_DelimiterInRow_Sofar > 0 begin insert into @parameters(Parameter1, Parameter2) select substring(@Sofar
18, 1, @charindex_DelimiterInRow_Sofar-1), substring(@Sofar, @charindex_DelimiterInRow_Sofar + 1, len(@sofar)) end else begin insert into @parameters(Parameter1
19) values( @Sofar) end end else begin insert into @parameters(Parameter1) values( @Sofar) end  select @CountElements += 1 end select @SoFar = N'' select
20 @i += @lenDelim end else begin select @Sofar = concat(@Sofar , left(@char, 1)) select @i += 1 end  end select @Sofar = trim(@Sofar) if @Sofar > ' ' begin
21 if @DelimiterInRow > ' ' begin select @charindex_DelimiterInRow_Sofar = charindex(@DelimiterInRow, @Sofar) if @charindex_DelimiterInRow_Sofar > 0 begin
22 insert into @parameters(Parameter1, Parameter2) select substring(@Sofar, 1, @charindex_DelimiterInRow_Sofar-1), substring(@Sofar, @charindex_DelimiterInRow_Sofar
23 + 1, len(@sofar)) end else begin insert into @parameters(Parameter1) values( @Sofar) end end else begin insert into @parameters(Parameter1) values( @Sofar
24) end  select @CountElements += 1 end setReverse: update @parameters set OrderNumberReverse = @CountElements - Ordernumber +1 ende: return end 
25

Module relation graph

Loading module relation graph…

Source-derived context

Generated from exported SQL module definitions plus read-only sandbox sys.objects/sys.parameters/sys.sql_expression_dependencies metadata. This is factual source evidence, not a semantic guess.

provenance: SQL definition export provenance: sandbox DB metadata modified: 2026-04-14T23:14:09.760

None extracted.

Summary: writes INSERT into; reads/joins string_split

Declared parameters

ParameterTypeDirection
@InStringnvarcharinput
@Delimiternvarchar(64)input
@SuppressEmptybitinput
@CaseSensitivebitinput
@DelimiterInRownvarchar(1)input

DML targets

INSERT into

Called routines

None extracted.

Read/join references

SQL dependency metadata

None extracted.

Config/session

Config: None extracted.

Session: None extracted.

DBQueue/tasks

None extracted.

Temp tables / referenced variables

Temp: None extracted.

Variables: @InString @Delimiter @SuppressEmpty @CaseSensitive @DelimiterInRow @parameters @i @l @SoFar @char @CountElements @charindex_DelimiterInRow_Sofar @lenDelim @lendelim @ROWCOUNT @Sofar @Char @sofar

Referenced by / reverse dependencies

Generated from live DB metadata, FK rows, and exported SQL dependency/source extraction. This is factual linkage evidence, not inferred behavior.

Referencing objectRelationEvidence
dbo.QBM_FCVStringToListSQL expression dependencydbo · OBJECT_OR_COLUMN
dbo.QBM_FCVStringToListSplittedSQL expression dependencydbo · OBJECT_OR_COLUMN
dbo.QBM_PScheduleStartJobSQL expression dependencydbo · OBJECT_OR_COLUMN
dbo.QER_ZPersonFindGenerateFunctSQL expression dependencydbo · OBJECT_OR_COLUMN
dbo.QBM_FCVStringToListsource text referenceSQL_INLINE_TABLE_VALUED_FUNCTION
dbo.QBM_FCVStringToListSplittedsource text referenceSQL_INLINE_TABLE_VALUED_FUNCTION
dbo.QBM_PScheduleStartJobsource text referencecreates object-layer jobs via QBM_PJobCreate*, fires object-layer event via HOFireEvent, uses session context values, has TRY/CATCH error handling
dbo.QER_ZPersonFindGenerateFunctsource text referencehas TRY/CATCH error handling