我們在平常開發過程中,在設計數據的時候,經常碰到數據類型選擇的問題,為了更快,更合適地選擇正確的數據類型,所以在這裡做個總結。 轉自:http://www.cnblogs.com/mcgrady/p/5776255.html ...
我們在平常開發過程中,在設計數據的時候,經常碰到數據類型選擇的問題,為了更快,更合適地選擇正確的數據類型,所以在這裡做個總結。
分類 | 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) | 【常用】,一般用來表示主鍵,唯一標識符。 | |
… … | |
轉自:http://www.cnblogs.com/mcgrady/p/5776255.html