2017-05-03 33 views
0

我期待通過:之後和;之前的一切。 例如我當前的代碼是:T-SQL將通過以下內容之間的所有內容:和;只有

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

這目前通過提取數據" Leon: My Job"來自:Leon: My Job; New job

我找這僅通過我的工作,而不是萊昂拉:我的工作。所以從:;之間的一切,但;;之間的一切都沒有顯示。

回答

0

這裏有一個方法:

select left(stuff(col, 1, charindex(':', col), ''), 
      charindex(';', stuff(col, 1, charindex(':', col), '')) - 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

謝謝,不過這仍然是拉回來的。例如,這拉回了我的工作;新工作。我現在怎麼說要把所有的東西都拉過來?所以只是我的工作 – SQLeon

+0

編輯查詢。看看它是否工作 – Kapil

相關問題