1

私のテーブルには、次のような経験フィールドがあります

経験

  • 0年から0年
  • 2年から0年
  • 7年から12年

ここで分割したい

  • 年から - 0
  • 年初-0

ここで文字列を分割する方法。私は非常に多くの記事を検索します。正しい解決策が見つかりません。ここで何か方法はありますか?

4

4 に答える 4

0

してみてください:

select 'YearFrom - '+substring(Data, 0, PatIndex('%[to]%', Data)) YearFrom, 
    'YearTo - '+replace(stuff(Data, 1, PatIndex('%[to]%', Data)+1, ''), 'Years', '') YearTo
from
(
    Select '0to0Years' Data union
    Select '2to0Years' Data union
    Select '756to12Years' Data
)x
于 2013-04-16T06:09:33.093 に答える
0

次の手順を試してください...

                            --Create Table :
                            Create Table #Table
                            (
                            Name Varchar(50),
                            Experience Varchar(20)
                            )
                            Go

                            -- Insert Values :
                            Insert into #Table Values('Tom','0to0Years')
                            Insert into #Table Values('Victor','0to1Years')
                            Insert into #Table Values('Mark','11to12Years')
                            Go

                            --View Data
                            Select  * from #Table

                            --Using CharIndex  and Substring :
                            Select Name,
                            Substring(Experience,1,CharIndex('to',Experience)-1) as Yearfrom,
                            Substring(Experience,(CharIndex('to',Experience)+2),Len(Replace(Experience,'Years','')) - (CharIndex('to',Experience)+1)) as YearTo
                            from #Table
于 2013-04-16T06:06:40.783 に答える