2012-07-25 7 views
19

próbuję wyodrębnić podciąg (wszystko przed myślnikiem, w tym przypadku) z ciągiem, jak pokazano poniżej:izolowanie podciągu w ciągu znaków przed symbolem w SQL Server 2008

Net Operating Loss - 2007 
Capital Loss - 1991 
Foreign Tax Credit - 1997 

i chcesz, aby rok i nazwa (podciąg przed łącznikiem) były osobno, przy użyciu SQL Server Management studio 2008. Jakieś rady? lub pomysł, jak mogę to osiągnąć?

Odpowiedz

45
DECLARE @test nvarchar(100) 

SET @test = 'Foreign Tax Credit - 1997' 

SELECT @test, left(@test, charindex('-', @test) - 2) AS LeftString, 
    right(@test, len(@test) - charindex('-', @test) - 1) AS RightString 
3
DECLARE @dd VARCAHR(200) = 'Net Operating Loss - 2007'; 

SELECT SUBSTRING(@dd, 1, CHARINDEX('-', @dd) -1) F1, 
     SUBSTRING(@dd, CHARINDEX('-', @dd) +1, LEN(@dd)) F2