2014-07-18 10 views
6

Esiste la possibilità di modificare il SUBTYPE di un campo BLOB?Sottotipo blob di modifica di Firebird 2.5.2

ho un BLOB con SUBTYPE BINARIO un bisogno di cambiare a sottotipo TESTO, perché ho un po 'strani personaggi nel BLOB e in un BLOB con SUBTYPE TEXT non ho questo problema

+0

Che cosa si intende con 'strani personaggi? Il sottotipo binario è per dati binari, non per dati carattere. –

+0

Carattere ASCII 255 e 254. Ho un'altra tabella in cui il sottotipo è Testo e in questa tabella questo carattere non esiste – FlixLux

+0

ASCII va solo a 127. Quali caratteri si aspettano per byte 255 e 254? –

risposta

7

Direttamente alterando il sottotipo di una colonna blob non è possibile (tenta di fare questo vi darà l'errore "Impossibile cambiare tipo di dati per la colonna BLOBCOLUMN. cambiare tipo di dati non è supportato per bLOB o di colonne.")

sarà necessario

  1. Aggiungere una nuova colonna con un set di caratteri esplicito (Io parto dal presupposto finestre 1252, sulla base di commenti)

    ALTER TABLE table_name 
        ADD blobcolumn_new BLOB SUB_TYPE TEXT CHARACTER SET WIN1252 
    
  2. Copiare i dati dal vecchio colonna alla nuova colonna:

    UPDATE table_name SET blobcolumn_new = blobcolumn 
    
  3. goccia vecchia colonna

    ALTER TABLE table_name 
        DROP blobcolumn 
    
  4. Rinominare il n colonna ew

    ALTER TABLE table_name 
        ALTER COLUMN blobcolumn_new TO blobcolumn 
    
Problemi correlati