Подтвердить что ты не робот

Выделение подстроки в строке перед символом в SQL Server 2008

Я пытаюсь извлечь подстроку (все до дефиса в этом случае) из строки, как показано ниже:

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

и хотите, чтобы год и имя (подстрока перед дефис) отдельно, с помощью SQL Server Management studio 2008. Любые советы? или идея, как я могу это достичь?

4b9b3361

Ответ 1

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

Ответ 2

DECLARE @dd VARCAHR(200) = 'Net Operating Loss - 2007';

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