0

ハイフンで区切られた数値データを含むテーブルの列があります。このデータを 3 つの列に分割して、この数値の各部分が別々の列になるようにする必要があります。特定のデータは学習用ですが、名前フィールドが 3 列ではなく 1 列であるデータベースも見てきました (たとえば、"First"、"Middle"、Last" ではなく "FirstMiddleLast")。

数値のサンプルを次に示します。

1234-56-78

それを分割したいので、3つの列があります

1234 | 56 | 78

どうすればこれを達成できますか?

4

1 に答える 1

0

これを試してください(Sql Fiddle here)。

declare @s varchar(50)='1234-56-78'

select left(@s,charindex('-',@s,1)-1) Col1,
       substring(@s,charindex('-',@s,1)+1, len(@s)-charindex('-',reverse(@s),1)-
       charindex('-',@s,1)) Col2,
       right(@s,charindex('-',reverse(@s),1)-1) Col3

--results
Col1    Col2    Col3
1234    56      78
于 2013-01-15T17:21:56.680 に答える