Ändern der Spalte von VARCHAR (MAX) in VARBINARY (MAX)

8

Ich habe eine Tabelle, die eine VARCHAR(MAX) -Spalte hat, und ich muss sie in VARBINARY(MAX) ändern.

Ich habe es mit dem Befehl

versucht %Vor%

aber ich habe den Fehler

  

Msg 257, Level 16, State 3, Line 1
  Implizite Konvertierung vom Datentyp varchar (max) in varbinary (max) ist nicht zulässig.
  Verwenden Sie die CONVERT-Funktion, um diese Abfrage auszuführen.

Die Tabelle enthält keine Daten, daher kann ich nicht verstehen, warum sie sich über die Datenkonvertierung beschweren.

    
Doug 26.01.2013, 17:19
quelle

1 Antwort

11

Sie können diese Konvertierung nicht mit einer ALTER TABLE -Anweisung durchführen, da von varchar(max) in varbinary(max) konvertiert wurde. erfordert eine explizite Konvertierung . Also sollten Sie diese Schritte befolgen, um Ihre Tabelle zu ändern:

  1. Ändere Tabelle mit neuer Spalte von VARBINARY(MAX)
  2. Wenn Sie über Daten in der Spalte VARCHAR(MAX) verfügen, verwenden Sie die Anweisung update, um die Daten der Spalte VARBINARY
  3. hinzuzufügen
  4. Ändern Sie die Tabelle, um die Spalte VARCHAR(MAX)
  5. zu löschen
  6. Umbenennen Sie die Spalte varbinary in varchar name (pro Kommentar aus @ Ben Thul )
Taryn 26.01.2013, 17:32
quelle

Tags und Links