1つの列に1/1
から1/20
のデータを持つテーブルがあります。値1から20、つまり '/'(フロントスラッシュ)がSQL Serverの同じテーブルの他の列に更新された後の値が必要です。
例:
列の値は1/1,1/2,1/3...1/20
です
新しい列の値1,2,3,..20
つまり、この新しい列を更新したい
前もって感謝します...!
これを試して:
UPDATE YourTable
SET Col2 = RIGHT(Col1,LEN(Col1)-CHARINDEX('/',Col1))
以下のクエリも、区切り文字で文字列を分割してください。
Select Substring(@String1,0,CharIndex(@delimeter,@String1))
SELECT SUBSTRING(ParentBGBU,0,CHARINDEX('-',ParentBGBU,0)) FROM dbo.tblHCMMaster;
私はこの質問がSQLサーバーに固有であることを知っていますが、私はpostgresqlを使用していてこの質問に出くわしたので、同様の状況の他の人にはsplit_part(string text, delimiter text, field int)
関数があります。
たぶんこのようなもの:
最初にいくつかのテストデータ:
DECLARE @tbl TABLE(Column1 VARCHAR(100))
INSERT INTO @tbl
SELECT '1/1' UNION ALL
SELECT '1/20' UNION ALL
SELECT '1/2'
次に、このように:
SELECT
SUBSTRING(tbl.Column1,CHARINDEX('/',tbl.Column1)+1,LEN(tbl.Column1))
FROM
@tbl AS tbl