41

以下に示すように、文字列から部分文字列(この場合はハイフンの前のすべて)を抽出しようとしています:

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

SQLサーバーManagement Studio 2008を使用して、年と名前(ハイフンの前の部分文字列)を別々に必要とします。何かアドバイスはありますか?またはどうすればこれを達成できるのでしょうか?

4

3 に答える 3

77
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
于 2012-07-25T13:46:23.707 に答える
6
DECLARE @dd VARCHAR(200) = 'Net Operating Loss - 2007';

SELECT SUBSTRING(@dd, 1, CHARINDEX('-', @dd) -1) F1,
       SUBSTRING(@dd, CHARINDEX('-', @dd) +1, LEN(@dd)) F2
于 2012-07-25T15:04:13.817 に答える