0

少し変換して、テーブルのある列から別の列に値を挿入しようとしています。

次のクエリでエラーが発生します

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

update faults_analysis
    set datekey = (select cast(convert(varchar(10),faultstarttime,112) as int) from FAULTS_ANALYSIS )

カーソルを使用せずに複数の値を挿入する方法

4

2 に答える 2

2

私はこれについてコメントするのに必要な評判を持っていないので、100% とは言えません。あなたのことを正しく理解しています。

私が正しく理解している場合、同じテーブルの列を、そのテーブルの別の列から変換された値で更新しようとしていますか?

以下は必要なものですが、テーブル全体を更新することを想定している where 句がないため、注意してください。

    update faults_analysis
       set datekey =  cast(convert(varchar(10),FA.faultstarttime,112) as int)
    from FAULTS_ANALYSIS FA
于 2013-09-25T11:02:37.720 に答える
0
UPDATE faults_analysis
       set datekey =  cast(convert(varchar(10),faultstarttime,112) as int)

from節「from FAULTS_ANALYSIS FA」を追加する必要はありません

于 2013-09-25T12:59:43.107 に答える