試試下面這個SQL:
DECLARE @input NVARCHAR(MAX) = 'Create Procedure Test';
DECLARE @input2 NVARCHAR(MAX) = 'Create Procedure dbo Test';
DECLARE @SearchString NVARCHAR(MAX) = 'Procedure';
DECLARE @index BIGINT = CHARINDEX(@SearchString, @input);
select @input, @SearchString as searchstring, @index as Index_SearchString , @index +len(@SearchString) as Last_CharacterOfSearchString
, charIndex('Test', @input,@index +len(@SearchString)) as test_Index
, charIndex('dbo', @input,@index +len(@SearchString)) as dbo_Index
, substring(@input, 0, @index +len(@SearchString)) as str1
, substring(@input, @index +len(@SearchString), len(@input)[email protected] +len(@SearchString)) as str2
Declare @dbo_Index int
Declare @str1 nvarchar(max), @str2 nvarchar(max)
set @dbo_Index = charIndex('dbo', @input,@index +len(@SearchString))
--select @dbo_Index
if @dbo_Index = 0
begin
set @str1 = substring(@input, 0, @index +len(@SearchString))
set @str2 = substring(@input, @index +len(@SearchString), len(@input)[email protected] +len(@SearchString))
select @str1 + ' ' + 'MySchema' + @str2
end
--,charIndex('dbo',@input2, @index +len(@SearchString)) as dbo_Index
更新時間:
目標:獲取
DECLARE @input2 NVARCHAR(MAX) = 'Create Procedure Under Fire Test';
DECLARE @SearchString NVARCHAR(MAX) = 'Procedure';
--,charIndex('dbo',@input2, @index +len(@SearchString)) as dbo_Index
select substring(@input2,17,25)
, CHARINDEX(@SearchString,@input2,0) + len(@SearchString) as LastIndexOf_Procedure
, CHARINDEX('Test',@input2,0)
,len(@input2)
,substring(@input2, CHARINDEX(@SearchString,@input2,0) + len(@SearchString), CHARINDEX('Test',@input2,0)- (CHARINDEX(@SearchString,@input2,0)+len(@SearchString)))
set @SearchString= Ltrim(rtrim(substring(@input2, CHARINDEX(@SearchString,@input2,0) + len(@SearchString), CHARINDEX('Test',@input2,0)- (CHARINDEX(@SearchString,@input2,0)+len(@SearchString)))))
select @SearchString
select
@input2
,@SearchString as SearchString
,CHARINDEX(@SearchString,@input2,0) as FirstCharacterIndex
你怎麼在這部分到達 「炮火下」 第一個字符指數( 「U」) - 'SUBSTRING(@input,13,10)'? –
我已更新我的問題 – user3124690