17

列のあるテーブルがあり、VARCHAR(MAX)に変更する必要がありますVARBINARY(MAX)

コマンドを使ってみました

ALTER TABLE TableName ALTER COLUMN ColumnName VARBINARY(MAX)

しかし、私はエラーが発生しました

メッセージ257、レベル16、状態3、行1
データ型varchar(max)からvarbinary(max)への暗黙的な変換は許可されていません。
CONVERT関数を使用して、このクエリを実行します。

テーブルにデータがないので、なぜデータ変換について不平を言っているのか理解できません。

4

2 に答える 2

24

fromからへの変換には明示的な変換が必要なためALTER TABLE、ステートメントを使用してこの変換を実行することはできません。したがって、次の手順に従ってテーブルを変更する必要があります。varchar(max)varbinary(max)

  1. 次の新しい列でテーブルを変更しますVARBINARY(MAX)
  2. 列に既存のデータがある場合は、VARCHAR(MAX)updateステートメントを使用してデータをVARBINARY列に追加します
  3. テーブルを変更してVARCHAR(MAX)列を削除します
  4. varbinary列の名前を名前に変更しますvarchar@Ben Thulからのコメントごとに)
于 2013-01-26T17:32:12.400 に答える
1

に変換VarcharしてIntからに変更IntBinaryます。

于 2021-08-14T16:58:23.917 に答える