プロジェクト名として1つの列があり、プロジェクト名のデータ
1.1.1 chapter1
1.1.2 chapter2
その単一の列を2つの列に分割したい
Major Minor
1.1 .1 chapter1
1.1 .2 chapter2
プロジェクト名の列のデータ型は nvarchar です。SQL 2005 を使用しています。
何か助けはありますか?
プロジェクト名として1つの列があり、プロジェクト名のデータ
1.1.1 chapter1
1.1.2 chapter2
その単一の列を2つの列に分割したい
Major Minor
1.1 .1 chapter1
1.1 .2 chapter2
プロジェクト名の列のデータ型は nvarchar です。SQL 2005 を使用しています。
何か助けはありますか?
このようなもの
declare @x nvarchar(500) = '1.1.1 chapter1'
select substring(@x,1,charindex('.',@x,1+charindex('.',@x))-1) as Major,
substring(@x,charindex('.',@x,1+charindex('.',@x)),len(@x)-charindex('.',@x,1+charindex('.',@x))) as Minor
クエリで@xを置き換えます。
そしてそれのためのフィドル:http ://sqlfiddle.com/#!3 / d41d8 / 4424/0
で更新されました。前にあり、エラーの証拠
@x nvarchar(500)='1.1.1chapter1'を宣言します
select @x,
case when charindex('.',@x,1+charindex('.',@x)) <> 0 then substring(@x,1,charindex('.',@x,1+charindex('.',@x))-1)
else 'Cannot be parsed'
end,
case when charindex('.',@x,1+charindex('.',@x)) <> 0 then substring(@x,charindex('.',@x,1+charindex('.',@x)),len(@x)-charindex('.',@x,1+charindex('.',@x))+1)
else 'Cannot be parsed'
end
となし。前に
@x nvarchar(500)='1.1.1chapter1'を宣言します
select @x,
case when charindex('.',@x,1+charindex('.',@x)) <> 0 then substring(@x,1,charindex('.',@x,1+charindex('.',@x))-1)
else 'Cannot be parsed'
end,
case when charindex('.',@x,1+charindex('.',@x)) <> 0 then substring(@x,1+charindex('.',@x,1+charindex('.',@x)),len(@x)-charindex('.',@x,1+charindex('.',@x)))
else 'Cannot be parsed'
end
select substring(ProjectName,1,charindex('.',ProjectName,charindex('.',@t)+1)) as Major