2017-05-03 6 views
0

私は:の後、そして;の前にすべてを引き抜こうとしています。 は、例えば、私の現在のコードは次のとおりです。私の仕事を:これは代わりに、レオンの唯一の私の仕事を通じてプルするために私が探していますLeon: My Job; New jobT-SQLは以下の間のすべてを引き継ぎます。

select Left('{Script.Testdata}', CHARINDEX('; ',('{Script.Testdata}'))-1) 

これは、現在のデータを通じて" Leon: My Job"を引っ張ります。したがって、:から;までのすべてが、;;の間のものは表示されません。文字列が:または;を持っていない可能性がある場合、これは複雑になります。もちろん、

select left(stuff(col, 1, charindex(':', col), ''), 
      charindex(';', stuff(col, 1, charindex(':', col), '')) - 1 
      ) 

答えて

0

は、ここに1つの方法です。

+0

ありがとうございます。 – SQLeon

+0

https://docs.microsoft.com/en-us/sql/t-sql/functions/stuff-transact-sql –

0
declare @var varchar(30) 
set @var=' Leon: My Job; New jobs;;;' 


select Substring(substring (@var,charindex(':',@var)+1,Len(@var)),0, 
CHARINDEX('; ',substring (@var,charindex(':',@var)+1,Len(@var)))) 
+0

ありがとうございますが、これはまだ、後ろにあるものを取り戻しています。たとえば、これは「My Job」を取り戻します。新しい仕事。どのようにして今までのことをどのように引き上げると言うのですか?だからちょうど私の仕事 – SQLeon

+0

編集したクエリ。それが動作するかどうか – Kapil

関連する問題