1

SQL Server DB にテーブルがあります。

CREATE TABLE [dbo].[Table2]([col3] [varchar](50) NULL, [col4] [varchar](50) NULL, [col5] [char](1) NULL)

以下は、テーブル内のデータです。

col3    col4    col5
sad     asdf    c
df      sdfg    b

ここで、「col5」のデータ型を INT に変更したいと考えています。これを試しました:

alter table [dbo].[TABLE2] alter column [col5] int null;

このエラーが発生しました:

Conversion failed when converting the varchar value 'c' to data type int.
The statement has been terminated.

データ型を INT に変更した後、'c' を 100 に、'b' を 101 に変更したいと考えています。

データ型とデータを変更するにはどうすればよいですか? 私を正しい方向に向けてください。

4

2 に答える 2

2

まず、次の値を増やす必要がありますcol5

alter table [dbo].[TABLE2] alter column [col5] varchar(10) null;

次にUPDATE、データを数値などに変換します。多分:

UPDATE Table set col5 = '100' where col5='c'
于 2013-06-26T18:47:24.013 に答える
1

列の変更 - varchar から int/long などへの型変換では機能しません。

  • 新しい int 列を作成する必要があります
  • 次に、既存のすべてのデータを col5 から新しい int 列にコピーします
  • 次に、TABLE2 から col5 列を削除します。

もっと賢い方法があるかもしれません。しかし、これは私が推測する目的を果たします。

于 2013-06-26T18:35:07.580 に答える