Запрос на пропуск первого разделителя и выбор второго разделителя в SQL - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь выполнить запрос, где

,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
)

Я бы хотел, чтобы код пропустил первый . и выбрал следующий предшествующий . в качестве разделителя.

1 Ответ

0 голосов
/ 13 декабря 2018

Вы можете использовать его, как показано ниже:

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

CharIndex предоставит «индекс» первого «.»а затем использовать его, чтобы получить подстроку из строки.Это будет «игнорировать» слово «Диагностика».из строки.

...