查询以跳过SQL中的第一个分隔符并选择第二个分隔符



我正在尝试运行一个查询,其中

,replace(b.[X.Logs],' ','.') as 'logs'
,CT2 as 
(
Select *
, CHARINDEX('Diagnostics',[logs]) as 'DiagBGN1'
, CHARINDEX('.',[logs],CHARINDEX('Diagnostics',[logs])) as 'DiagEND1'
From CT1
)
,CT3 as
(
Select * 
,SUBSTRING([logs],[EPSABGN1]+1,[EPSAEND1]-[EPSABGN1]-1) as 'EPSA_CODE'
From CT2
)

我希望代码跳过第一个.,并选择前一个.作为分隔符。

您可以像下面这样使用它:

declare @S varchar(200) = 'Diagnostics.Passed.hardware';
select substring(@s, charindex('.', @S)+1, len(@s));

CharIndex将提供第一个"的"索引"然后使用它从字符串中获取子字符串。这将"忽略"字符串中的单词"Diagnostics."。

最新更新