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

Danh sách các loại dữ liệu trong SQL Server 2017

Bài viết này chứa tham chiếu nhanh về các kiểu dữ liệu do hệ thống cung cấp có sẵn trong SQL Server 2017, cùng với một số thông tin cơ bản như độ dài tối đa tính bằng byte, độ chính xác, tỷ lệ và liệu kiểu dữ liệu có là nullable hay không (1 có nghĩa là nó không có giá trị, 0 có nghĩa là nó không thể vô hiệu).

Số chính xác

Tên Độ dài Tối đa Độ chính xác Thang đo Vô hiệu?
bigint 8 19 0 1
bit 1 1 0 1
thập phân 17 38 38 1
int 4 10 0 1
tiền 8 19 4 1
số 17 38 38 1
smallint 2 5 0 1
smallmoney 4 10 4 1
tinyint 1 3 0 1

Các số gần đúng

Tên Độ dài Tối đa Độ chính xác Thang đo Vô hiệu?
float 8 53 0 1
thực 4 24 0 1

Ngày và giờ

Tên Độ dài Tối đa Độ chính xác Thang đo Vô hiệu?
ngày 3 10 0 1
datetime2 8 27 7 1
ngày giờ 8 23 3 1
datetimeoffset 10 34 7 1
smalldatetime 4 16 0 1
thời gian 5 16 7 1

Chuỗi ký tự

Tên Độ dài Tối đa Độ chính xác Thang đo Vô hiệu?
ký tự 8000 0 0 1
văn bản 16 0 0 1
varchar 8000 0 0 1

Chuỗi ký tự Unicode

Tên Độ dài Tối đa Độ chính xác Thang đo Vô hiệu?
nchar 8000 0 0 1
ntext 16 0 0 1
nvarchar 8000 0 0 1

Chuỗi nhị phân

Tên Độ dài Tối đa Độ chính xác Thang đo Vô hiệu?
nhị phân 8000 0 0 1
hình ảnh 16 0 0 1
varbinary 8000 0 0 1

Các kiểu dữ liệu khác

Tên Độ dài Tối đa Độ chính xác Thang đo Vô hiệu?
phân cấp 892 0 0 1
sql_variant 8016 0 0 1
hình học -1 0 0 1
địa lý -1 0 0 1
dấu thời gian * 8 0 0 0
uniqueidentifier 16 0 0 1
xml -1 0 0 1
tên mã 256 0 0 0

* Dấu thời gian kiểu dữ liệu là từ đồng nghĩa với rowversion loại dữ liệu. Xem bên dưới để biết thêm thông tin.

Loại 'con trỏ', 'bảng' và 'chuyển đổi hàng'

Tôi truy xuất thông tin trong các bảng trên qua sys.types xem danh mục hệ thống. Ngoài các loại trên, tài liệu của Microsoft về loại dữ liệu cũng liệt kê con trỏ bảng loại, cũng như lộn xộn thay vì dấu thời gian .

Loại 'dấu thời gian'

Microsoft khuyên rằng dấu thời gian cú pháp không được dùng nữa. Chúng tôi khuyên bạn nên sử dụng chuyển đổi hàng hóa thay vì dấu thời gian bất cứ khi nào có thể trong các tuyên bố DDL của chúng tôi.

Tuy nhiên, trong thời gian chờ đợi, bạn có thể thấy các cột dường như vẫn được xác định là dấu thời gian ngay cả khi bạn chỉ định rõ ràng lộn xộn khi tạo chúng (sử dụng Transact-SQL). Tuy nhiên, Microsoft khuyên rằng đây là cú pháp chính xác để sử dụng trong tương lai.

Cũng lưu ý rằng dấu thời gian trong T-SQL / SQL Server khác với dấu thời gian kiểu dữ liệu được xác định trong tiêu chuẩn ISO.

Có vẻ như lý do nó không được dùng nữa là do tên của nó gây ra nhầm lẫn. Microsoft đã thừa nhận điều này vào năm 2007 và khuyên rằng họ sẽ cố gắng giải quyết nó theo cách tương thích ngược trong các bản phát hành trong tương lai.

Kiểm tra Cơ sở dữ liệu của riêng bạn

Bạn có thể truy xuất thông tin kiểu dữ liệu cho cơ sở dữ liệu của riêng mình bằng cách sử dụng sys.types chế độ xem hệ thống. Xem Cách trả về danh sách các kiểu dữ liệu trong SQL Server để biết giải thích và ví dụ. Chạy dạng xem này cũng trả về mọi bí danh và kiểu do người dùng xác định có trong cơ sở dữ liệu.


  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ó bất kỳ công cụ miễn phí nào để tạo tập lệnh 'CHÈN VÀO' trong MS SQL Server không?

  2. SQL Server chuyển đổi varbinary thành chuỗi

  3. Truy vấn con của SQL Server trả về nhiều hơn 1 giá trị. Điều này không được phép khi truy vấn con theo sau =,! =, <, <=,>,> =

  4. Giới thiệu các biểu thức bảng phổ biến trong SQL Server

  5. Mã hóa ký tự mặc định của SQL Server