Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Oracle SQL để thay đổi kiểu cột từ số thành varchar2 trong khi nó chứa dữ liệu

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;

Nếu có một chỉ mục trên cột, bạn cần tạo lại nó.

Lưu ý rằng cập nhật sẽ không thành công nếu bạn có các số trong cột cũ lớn hơn 999. Nếu có, bạn cần điều chỉnh giá trị tối đa cho varchar cột



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tách một chuỗi được phân tách bằng dấu phẩy trong Oracle

  2. Oracle Text sẽ không hoạt động với NVARCHAR2. Những gì khác có thể không có sẵn?

  3. Oracle - Cách tạo tập lệnh từ nhà phát triển sql

  4. Làm thế nào để đưa ra một ràng buộc duy nhất cho một tổ hợp các cột trong Oracle?

  5. Cách cập nhật với tham gia bên trong trong Oracle