Mengubah kolom
Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Anda dapat mengubah jenis data kolom di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL.
Peringatan
Memodifikasi tipe data kolom yang sudah berisi data dapat mengakibatkan hilangnya data secara permanen saat data yang ada dikonversi ke jenis baru. Selain itu, kode dan aplikasi yang bergantung pada kolom yang dimodifikasi dapat gagal. Ini termasuk kueri, tampilan, prosedur tersimpan, fungsi yang ditentukan pengguna, dan aplikasi klien. Kegagalan ini akan berskala. Misalnya, prosedur tersimpan yang memanggil fungsi yang ditentukan pengguna yang bergantung pada kolom yang dimodifikasi dapat gagal. Pertimbangkan dengan cermat setiap perubahan yang ingin Anda buat pada kolom sebelum membuatnya.
Izin
Memerlukan izin UBAH pada tabel.
Menggunakan SQL Server Management Studio (SSMS)
Mengubah jenis data kolom menggunakan SSMS
Di Object Explorer, klik kanan tabel dengan kolom yang ingin Anda ubah skalanya dan pilih Desain.
Pilih kolom yang ingin Anda ubah tipe datanya.
Di tab Properti Kolom, pilih sel kisi untuk properti Tipe Data dan pilih tipe data baru dari daftar dropdown.
Pada menu File , pilih Simpan nama tabel.
Catatan
Saat Anda mengubah tipe data kolom, Table Designer menerapkan panjang default tipe data yang Anda pilih, bahkan jika Anda telah menentukan yang lain. Selalu atur panjang jenis data untuk ke nilai yang diinginkan setelah menentukan jenis data.
Peringatan
Jika Anda mencoba mengubah tipe data kolom yang berkaitan dengan tabel lain, Perancang Tabel meminta Anda untuk mengonfirmasi bahwa perubahan harus dilakukan pada kolom di tabel lain juga.
Menggunakan Transact-SQL
Mengubah jenis data kolom menggunakan Transact-SQL
Di Object Explorer, sambungkan ke instans Mesin Database.
Pada bilah Standar, pilih Kueri Baru.
Salin dan tempel contoh berikut ke dalam jendela kueri dan pilih Jalankan.
CREATE TABLE dbo.doc_exy (column_a INT ); GO INSERT INTO dbo.doc_exy (column_a) VALUES (10); GO ALTER TABLE dbo.doc_exy ALTER COLUMN column_a DECIMAL (5, 2); GO