標籤:
Sql server 入門之sql server所支援的資料類型
常見資料類型
1.整型資料
1)bit, 只能儲存0、1和空值null。
2)tinyint, 不帶符號位的正數,佔用1個位元組,8位,支援的資料範圍為0~2^8-1。
3) smallint, 帶符號位的,佔用2個位元組,16位,支援的資料範圍為-2^15~2^15-1。
4) int, 帶符號位的,佔用4個位元組,32位,支援的資料範圍為-2^31~2^31-1。
5)bigint, 帶符號位的,佔用8個位元組,64位,支援的資料範圍為-2^63~2^63-1。
2.浮點型資料
1)float(n), 浮點數據為近似值,其中 n 為用於儲存 float 數值尾數的位元(以科學記號標記法表示),因此可以確定精度和儲存大小。
如果指定了 n,則它必須是介於 1 和 53 之間的某個值。n 的預設值為 53。
的精度指的是最多支援多少個數字,如果給的資料超過精度範圍,直接截斷,並且不會四捨五入。
n 值 |
精度 |
儲存大小 |
1-24 |
7 位元 |
4 位元組 |
25-53 |
15 位元 |
8 位元組 |
2)real, 等價於float(24)。
3)double, 等價於float(53)。
4)declmal(m,n), 精確數值型,必須指定浮點型資料的總長度以及小數點後面的位元。m對應的是浮點型資料的總長度,n對應的是小數點後面的位元,小數 點前面的位元就是m-n。
5)numeric(m,n), 等價於declmal(m,n)。
3.時間型資料
1)datetime, 表示日期和時間,這種資料類型儲存從1753年1月1日到9999年12月31日間所有的日期和時間資料, 精確到三百分之一秒或3.33毫秒。
2016-04-19 03:57:26.243
2)smalldatetime, 用來表示從1900年1月1日到2079年6月6日間的日期和時間,精確到一分鐘。
2016-04-19 03:59:00
3)date, 表示一個日子,不包含時間部分,可以表示的日期範圍從公元元年1月1日 到9999年12月31日.
2016-04-19
4)datetime2(n), n小於等於7,n可以控制小數點後面多少位元字,精確到納秒。
2016-04-19 04:07:22.4761175
5)datetimeoffset(n), n小於等於7, n可以控制小數點後面多少位元字,會有時區的資料。
2016-04-19 09:09:58.5000000 +00:00
4.字串型資料
1)char(n), 定長字串資料,最大支援8000個字元。若輸入資料的字元數小於n,則系統自動在其後添加空格來填滿設定好的空間若輸入的資料過長將會截掉 其超出部分。
2)varchar(n), 變長字串資料,最大支援8000個字元。因為VARCHAR資料類型的儲存長度為實際數值長度.若輸入資料的字元數小於n, 則系統不會其後添 加空格來填滿設定好的空間.
3)nchar(n), 用來儲存定長統一編碼字元型資料,統一編碼用雙位元組結構來儲存每個字元,而不是用單位元組,最大能儲存4000個字元。
4)nvarchar(n), 用作儲存變長的統一編碼字元型資料,統一編碼用雙位元組結構來儲存每個字元,而不是用單位元組,最大能儲存4000個字元。
5)varchar(max), 變長字串資料,max 指示最大儲存大小是 2^31-1 個位元組 (2 GB)。
6)nvarchar(max), 變長字串資料,max 指示最大儲存大小是 2^31-1 個位元組 (2 GB)。
如果列資料項目的大小一致,則使用 char。
如果列資料項目的大小差異相當大,則使用 varchar。
如果列資料項目大小相差很大,而且大小可能超過 8,000 位元組,請使用 varchar(max)。
5.貨幣型資料
1)smallmoney, 用來表示錢和貨幣值,這種資料類型能儲存從-214748.3648 到214748.3647 之間的資料,精確到貨幣單位的萬分之一,如果小數位過多的話會自動四捨五入。
2)money, 用來表示錢和貨幣值。這種資料類型能儲存從-9220億到9220 億之間的資料,精確到貨幣單位的萬分之一,如果小數位過多的話會自動四捨五入。
6.時間戳記型資料
timestamp, timestamp 資料類型是一種特殊的資料類型,用來建立一個資料庫範圍內的唯一數位。 一個表中只能有一個timestamp列。每次插入或修改一行時,timestamp列的值都會自動改變。儘管它的名字中有“time”, 但timestamp列不是人們可識別的日期。在一個資料庫裡,timestamp值是唯一的。
0x0000000000D43BAD
7.唯一標誌符型資料
Uniqueidentifier, 用來儲存一個通用唯一識別碼,即GUID。GUID確實是全域唯一的。這個數幾乎沒有機會在另一個系統中被重建。可以使用NEWID 函數來擷取這種類型的資料。
select newid() --78C8E94E-DBBF-4C4F-892A-93D04A098A12
8.二進位型資料
1)binary(n), 用來儲存可達8000 位元組長的定長的位元據。
2)varbinary(n), 用來儲存可達8000 位元組長的變長的位元據。
3)varbinary(max), 用來儲存可達 2^31-1 位元組長的變長的位元據。
如果沒有在資料定義或變數聲明語句中指定 n,則預設長度為 1。如果沒有使用 CAST 函數指定 n,則預設長度為 30。
如果列資料項目的大小一致,則使用 binary。
如果列資料項目的大小差異相當大,則使用 varbinary。
當列資料條目超出 8,000 位元組時,請使用 varbinary(max)。
Sql server 入門之sql server所支援的資料類型