-1

現在、データは次の形式で保存されています。

Word1 - Word2 - Number.I.Need.To.Extract.Separated.By.Periods - Word3 - Word4

私がやりたいのは、作成したばかりの列を に設定する update ステートメントを書くことNumber.I.Need.To.Extract.Separated.By.Periodsです。

これを行う、またはこのように作業するための最善の方法は何ですか?

私は次のようにそれを書き込もうとしました:

UPDATE Table1
SET NewColumn = 
               (SELECT SUBSTRING(Column, 19, 14)
                FROM Table1)

その結果:

サブクエリが複数の値を返しました。サブクエリが =、!=、<、<=、>、>= の後にある場合、またはサブクエリが式として使用されている場合、これは許可されません。ステートメントは終了されました。

どうすればこれを修正できますか?

4

2 に答える 2

1

更新は同じ行の「内部」で発生するため、サブクエリは必要ありません。

これは機能しませんか?

UPDATE Table1 SET NewColumn = SUBSTRING(Column, 19, 14)
于 2012-06-26T09:47:38.377 に答える
0

テキスト分析と文字列操作に関しては、正規表現は TSQL 文字列関数よりもはるかに効率的で洗練されたソリューションを提供します。

パターン マッチング文字列を抽出するCLR ユーザー定義関数を作成できます。

UPDATE Table1 SET NewColumn = fn_ExtractPatternMatchingString(Column,pattern)
于 2012-06-26T12:52:01.250 に答える