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.
Parameters
| Name | Type | Output |
|---|---|---|
@InString | nvarchar | no |
@Delimiter | nvarchar | no |
@SuppressEmpty | bit | no |
@CaseSensitive | bit | no |
@DelimiterInRow | nvarchar | no |
Referenced objects
| Schema | Object | Column/minor | Class |
|---|---|---|---|
| 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.
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
| Parameter | Type | Direction |
|---|---|---|
@InString | nvarchar | input |
@Delimiter | nvarchar(64) | input |
@SuppressEmpty | bit | input |
@CaseSensitive | bit | input |
@DelimiterInRow | nvarchar(1) | input |
DML targets
INSERT intoCalled 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 object | Relation | Evidence |
|---|---|---|
| dbo.QBM_FCVStringToList | SQL expression dependency | dbo · OBJECT_OR_COLUMN |
| dbo.QBM_FCVStringToListSplitted | SQL expression dependency | dbo · OBJECT_OR_COLUMN |
| dbo.QBM_PScheduleStartJob | SQL expression dependency | dbo · OBJECT_OR_COLUMN |
| dbo.QER_ZPersonFindGenerateFunct | SQL expression dependency | dbo · OBJECT_OR_COLUMN |
| dbo.QBM_FCVStringToList | source text reference | SQL_INLINE_TABLE_VALUED_FUNCTION |
| dbo.QBM_FCVStringToListSplitted | source text reference | SQL_INLINE_TABLE_VALUED_FUNCTION |
| dbo.QBM_PScheduleStartJob | source text reference | creates object-layer jobs via QBM_PJobCreate*, fires object-layer event via HOFireEvent, uses session context values, has TRY/CATCH error handling |
| dbo.QER_ZPersonFindGenerateFunct | source text reference | has TRY/CATCH error handling |