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

Cách thay đổi kích thước của một cột trong SQL Server (T-SQL)

Nếu bạn đang sử dụng SQL Server và bạn muốn sử dụng T-SQL để thay đổi kích thước của cột hiện có, thì bài viết này có thể giúp ích cho bạn.

Bằng cách “thay đổi kích thước của một cột hiện có”, ý tôi là thay đổi kích thước dữ liệu. Ví dụ:giả sử bạn có varchar(255) nhưng bạn muốn tăng kích thước của nó lên varchar(500) . Đây là những gì bạn cần làm trong trường hợp đó.

Tuyên bố ALTER TABLE

Nếu bạn đang thực hiện việc này với T-SQL, bạn cần sử dụng ALTER TABLE tuyên bố. Câu lệnh này cho phép bạn thay đổi định nghĩa của bảng sau khi nó đã được tạo (và nó cũng có thể chứa dữ liệu).

Dưới đây là một ví dụ về việc thay đổi kích thước của một cột hiện có:

ALTER TABLE Tasks
    ALTER COLUMN TaskDescription varchar(500);
GO

Ví dụ này sửa đổi Tasks bảng bằng cách thay đổi kích thước của TaskDescription cột.

Điều này rõ ràng giả định rằng cột (và bảng) đã tồn tại trong cơ sở dữ liệu. Nếu không, bạn sẽ gặp lỗi.

Kiểm tra kết quả

Bạn có thể kiểm tra kích thước cột bằng cách chạy truy vấn đối với INFORMATION_SCHEMA.COLUMNS . Như thế này:

USE Solutions;
SELECT 
    COLUMN_NAME,
    DATA_TYPE,
    CHARACTER_MAXIMUM_LENGTH,
    CHARACTER_OCTET_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Tasks';

Kết quả:

COLUMN_NAME      DATA_TYPE  CHARACTER_MAXIMUM_LENGTH  CHARACTER_OCTET_LENGTH
---------------  ---------  ------------------------  ----------------------
TaskId           int        null                      null                  
TaskName         nvarchar   255                       510                   
TaskDescription  varchar    500                       500

Trong trường hợp này, chúng tôi chuyển sang cơ sở dữ liệu chính xác (Solutions ), sau đó chúng tôi truy vấn INFORMATION_SCHEMA.COLUMNS để biết thông tin về các cột trong Tasks bàn. Chúng tôi có thể thu hẹp điều này xuống chỉ cột mà chúng tôi quan tâm nếu có quá nhiều cột trong bảng, nhưng đối với ví dụ này, ba cột không có vấn đề gì.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DATEDIFF_BIG () Ví dụ trong SQL Server

  2. 4 cách để tìm hiểu những cột nào sẽ được trả về bởi một thủ tục được lưu trữ trong SQL Server

  3. làm cách nào để cập nhật 100 bản ghi hàng đầu trong máy chủ sql

  4. Quyền THỰC HIỆN đã bị từ chối trên đối tượng 'xxxxxxx', cơ sở dữ liệu 'zzzzzzz', giản đồ 'dbo'

  5. Cách chèn một chuỗi vào một chuỗi khác trong SQL Server bằng cách sử dụng STUFF ()