私のテーブルには、次のような経験フィールドがあります
経験
- 0年から0年
- 2年から0年
- 7年から12年
ここで分割したい
- 年から - 0
- 年初-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
次の手順を試してください...
--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