首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 資料型別完全解析:字串、日期、數值、二進位

     編輯:關於SqlServer

字串型別

型別長度Unicode特性
CHAR(n)1-8000否定長,右側空白填充
VARCHAR(n)1-8000否變長,不填充
TEXT2^31-1 字元否大型非 Unicode 文字 (已淘汰,用 VARCHAR(MAX))
NCHAR(n)1-4000是定長 Unicode,英文漢字均 2 位元組
NVARCHAR(n)1-4000是變長 Unicode,推薦多語系專案
NTEXT2^30-1 字元是大型 Unicode 文字 (已淘汰,用 NVARCHAR(MAX))

選擇建議:需支援多語言用 NVARCHAR;純 ASCII 高效能場景用 VARCHAR。MAX 型別取代舊 TEXT/NTEXT。

日期時間型別

型別範圍精度儲存位元組
DATETIME1753-01-01 ~ 9999-12-313.33 毫秒8
SMALLDATETIME1900-01-01 ~ 2079-06-061 分鐘4
DATE (2008+)0001-01-01 ~ 9999-12-311 天3
TIME (2008+)00:00:00.0000000 ~ 23:59:59.9999999100 奈秒3-5
DATETIME2 (2008+)同 DATE100 奈秒6-8
DATETIMEOFFSET (2008+)含時區100 奈秒8-10

建議:新專案優先用 DATETIME2 / DATE / TIME,精度更高、範圍更大、符合標準。

整數型別

型別範圍位元組
BIGINT-2^63 ~ 2^63-18
INT-2^31 ~ 2^31-14
SMALLINT-32,768 ~ 32,7672
TINYINT0 ~ 2551
BIT0/1/NULL1 (位)

精確數值

  • DECIMAL(p,s) / NUMERIC(p,s):等效。p=1~38 總位數,s=0~p 小數位。財務金額必用。
  • MONEY / SMALLMONEY:固定 4 位小數,內部為整數運算,速度快但精度固定。

近似數值

  • FLOAT(n):n=1~53 精度位數。FLOAT(24) = REAL (7 位有效數字)。FLOAT(53) = 雙精度 (15 位)。
  • 科學計算用 FLOAT,財務嚴禁。

二進位

  • BINARY(n) / VARBINARY(n) / VARBINARY(MAX):取代 IMAGE。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved