sql >> Databasteknik >  >> RDS >> Oracle

Oracle SQL för att ändra kolumntyp från nummer till varchar2 medan den innehåller data

create table temp_uda1 (test1 integer);
insert into temp_uda1 values (1);

alter table temp_uda1 add (test1_new varchar2(3));

update temp_uda1 
   set test1_new = to_char(test1);

alter table temp_uda1 drop column test1 cascade constraints;
alter table temp_uda1 rename column test1_new to test1;

Om det fanns ett index på kolumnen måste du återskapa det.

Observera att uppdateringen misslyckas om du har siffror i den gamla kolumnen som är större än 999. Om du gör det måste du justera maxvärdet för varchar kolumn



  1. Oracle - Hur man genererar skript från sql-utvecklare

  2. ERD-notationer i datamodellering

  3. Importera excel-filer med variabla rubriker

  4. Rangordna funktioner i SQL Server