Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Mengonversi tipe data Char ke Nvarchar

Memilih dari INFORMATION_SCHEMA.COLUMNS adalah cara yang baik untuk menentukan kolom apa yang perlu dikonversi,

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE DATA_TYPE = 'CHAR';

Tapi itu tidak bisa digunakan untuk mengubah tipe data kolom secara langsung. ALTER TABLE digunakan untuk mengubah tipe data kolom:

ALTER TABLE [dbo].[TableName] ALTER COLUMN [ColumnName] NVARCHAR(50);

Saat Anda melakukannya, hindari menggunakan NVARCHAR(MAX) kecuali benar-benar diperlukan. Pastikan tipe data Anda berukuran khusus untuk atribut tersebut. Jika CHAR . Anda kolom sudah berukuran dengan benar, gunakan skrip berikut untuk menghasilkan ALTER TABLE pernyataan:

SELECT  'ALTER TABLE ' +
        QUOTENAME(TABLE_SCHEMA) + '.' +
        QUOTENAME(TABLE_NAME) +
        ' ALTER COLUMN ' +
        QUOTENAME(COLUMN_NAME) +
        ' NVARCHAR(' +
        CAST(CHARACTER_MAXIMUM_LENGTH AS VARCHAR(4)) + ');'
FROM    INFORMATION_SCHEMA.COLUMNS
WHERE   DATA_TYPE = 'char';

Perlu diingat bahwa ini hanya menghasilkan pernyataan ALTER TABLE, Anda harus menyalin hasilnya dan menjalankannya di tab baru untuk mengubah tipe data.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya dapat meningkatkan Pernyataan SELECT SQL Server Alamat Surat ini?

  2. Cara Menjatuhkan atau Menghapus semua Pemicu dari Database di SQL Server

  3. Bagaimana Saya Menyisipkan Byte[] Ke dalam Kolom VARBINARY SQL Server

  4. Izin yang diperlukan untuk 'BUAT PENGGUNA' di SQL Server 2005?

  5. Pivot beberapa kolom berdasarkan satu kolom di SQL Server