SQL Server資料型別詳解
阿新 • • 發佈:2021-11-28
我們在平常開發過程中,在設計資料的時候,經常碰到資料型別選擇的問題,為了更快,更合適地選擇正確的資料型別,所以在這裡做個總結。
分類 | sql server 資料型別 |
c# 資料型別 |
描述 | 應用場景 |
字元和字串 | char(n) | string | 固定長度的字串,最多儲存8000個字元 | |
nchar(n) | string | 固定長度的unicode資料,最多4000個字元 | ||
varchar(n) | string | 可變長度的字串,最多儲存8000個字元 | 【常用】,表示字串,不包含中文。 | |
nvarchar(n) | string | 可變長度的unicode資料,最多4000個字元 | 【常用】,表示字串,包含中文。 | |
varchar(max) | string | 可變長度的字串,最多1,073,741,824個字元 | 【常用】,同varchar(n),儲存字元更多。 | |
nvarchar(max) | string | 可變長度的unicode資料,最多536,870,912個字元 | 【常用】,同nvarchar(n),儲存字元更多。 | |
text | string | 可變長度的字串,最多2GB | ||
ntext | string | 可變長度的unicde資料,最多2GB | ||
整數 | bit | bool | 表示0,1或NULL | 【常用】,一般用來表示是或否兩種狀態的欄位。 |
tinyint | byte | 表示0~255範圍的整數 | 【常用】,一般用來表示狀態或型別,c#中可以定義列舉來表示。 | |
smallint | short | 表示-2^15至2^15-1範圍的整數 | ||
int | int | 表示-2^31至2^31-1範圍的整數 | 【常用】,表示整數,或自增主鍵id | |
bigint | long | 表示-2^63至2^63-1範圍的整數 | 【常用】,表示整數,表示範圍更大。 | |
精確數 | float | single | 表示32位浮點數字,精度7位 | 【常用】,初始化字尾使用f或F,一般用來表示金額。 |
double | double | 表示64位浮點數字,精度15到16位 | 【常用】,初始化字尾使用d或D | |
decimal | decimal | 表示128位浮點數字,精度28到29位 | 初始化字尾使用m或M | |
貨幣 | smallmoney | decimal | 同上 | |
money | decimal | 同上 | ||
日期時間 | smalldatetime | datetime | 表示從 1900 年 1 月 1 日 到 2079 年 6 月 6 日,精度為 1 分鐘。 | |
datetime | datetime | 從 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度為 100 納秒。 | 【常用】,表示時間。 | |
二進位制 | binary | byte[] | 表示固定長度的二進位制資料,最多儲存8000個字元 | |
varbinary(n) | byte[] | 表示可變長度的二進位制資料,最多儲存8000個字元 | ||
varbinary(max) | byte[] | 表示可變長度的二進位制資料,最多儲存2GB | 【常用】,一般用來儲存壓縮後的資料。 | |
image | byte[] | 表示可變長度的二進位制資料,最多儲存2GB | ||
標記 | timestamp | N/A | 時間戳,該資料型別在每一個表中是唯一的!當表中的一個記錄更改時,該記錄的timestamp欄位會自動更新 | |
uniqueidentifier | Guid | 儲存全域性識別符號 (GUID) | 【常用】,一般用來表示主鍵,唯一識別符號。 | |
… … |