標籤:
bit 整型
bit資料類型是整型,其值只能是0、1或空值。這種資料類型用於儲存只有兩種可能值的資料,如Yes 或No、True 或False 、On 或Off.
注意:很省空間的一種資料類型,如果能夠滿足需求應該盡量多用。
tinyint 整型
tinyint 資料類型能儲存從0到255 之間的整數。它在你只打算儲存有限數目的數值時很有用。這種資料類型在資料庫中佔用1個位元組.
注意:如果bit類型太單調不能滿足您的需求,您可以考慮用tinyint類型,因為這個類型相對也是比較安全的,不接受惡意指令碼內容的嵌入。
smallint 整型
smallint 資料類型可以儲存從- 2的15次冪(-32768)到2的15次冪(32767)之間的整數。這種資料類型對儲存一些常限定在特定範圍內的數值型資料非常有用。這種資料類型在資料庫裡佔用2位元組空間.
注意:如果tinyint類型太單調不能滿足您的需求,您可以考慮用smallint類型,因為這個類型相對也是比較安全的,不接受惡意指令碼內容的嵌入
int 整型
int 資料類型可以儲存從- 2的31次冪(-2147483648)到2的31次冪 (2147483 647)之間的整數。儲存到資料庫的幾乎所有數值型的資料都可以用這種資料類型。這種資料類型在資料庫裡佔用4個位元組.
注意:如果smallint也不能夠滿足您的需求,您可以考慮用長度更大的int類型。
bint 整型
bint資料類型所表示的數值範圍從-2^31到2^31-1,也就是說,你可以用int資料類型來表達-2,147,483,648到2,147,483,647(即大約正負二十億)之間的整數。一個int型佔用四個位元組的儲存空間。
而bigint可以精確的表示從-2^63到2^63-1(即從-9,223,372,036,854,775,808到 9,223,372,036,854,775,807)之間的整數,它佔用了八個位元組的儲存空間
decimal 精確數值型
decimal 資料類型能用來儲存從-10的38次冪-1到10的38次冪-1的固定精度和範圍的數值型資料。使用這種資料類型時,必須指定範圍和精度。 範圍是小數點左右所能儲存的數位總位元。精度是小數點右邊儲存的數位位元
numeric 精確數值型
numeric資料類型與decimal 相似。
smallmoney 貨幣型
smallmoney 資料類型用來表示錢和貨幣值。這種資料類型能儲存從-214748.3648 到214748.3647 之間的資料,精確到貨幣單位的萬分之一
money 貨幣型
money資料類型用來表示錢和貨幣值。這種資料類型能儲存從-9220億到9220 億之間的資料,精確到貨幣單位的萬分之一
float 近似數值型
float 資料類型是一種近似數實值型別,供浮點數使用。說浮點數是近似的,是因為在其範圍內不是所有的數都能精確表示。浮點數可以是從-1.79E+308到1.79E+308 之間的任意數
real 近似數值型
real 資料類型像浮點數一樣,是近似數實值型別。它可以表示數值在-3.40E+38到3.40E+38之間的浮點數
char 字元型
char資料類型用來儲存指定長度的定長非統一編碼型的資料。當定義一列為此類型時,你必須指定列長。當你總能知道要儲存的資料的長度時,此資料類型很有用。例如,當你按郵遞區號加4個字元格式設定來儲存資料時,你知道總要用到10個字元。此資料類型的列寬最大為8000 個字元.
varchar 字元型 varchar資料類型,同char類型一樣,用來儲存非統一編碼型字元資料。與char 型不一樣,此資料類型為變長。當定義一列為該資料類型時,你要指定該列的最大長度。 它與char資料類型最大的區別是,儲存的長度不是列長,而是資料的長度 .
text 字元型
text 資料類型用來儲存大量的非統一編碼型字元資料。這種資料類型最多可以有231-1或20億個字元.
nchar 統一編碼字元型
nchar 資料類型用來儲存定長統一編碼字元型資料。統一編碼用雙位元組結構來儲存每個字元,而不是用單位元組(普通文本中的情況)。它允許大量的擴充字元。此資料類型能儲存4000種字元,使用的位元組空間上增加了一倍.
nvarchar 統一編碼字元型
nvarchar 資料類型用作變長的統一編碼字元型資料。此資料類型能儲存4000種字元,使用的位元組空間增加了一倍.
ntext 統一編碼字元型
ntext 資料類型用來儲存大量的統一編碼字元型資料。這種資料類型能儲存230 -1或將近10億個字元,且使用的位元組空間增加了一倍
date是SQL Server 2008新引進的資料類型。它表示一個日子,不包含時間部分,可以表示的日期範圍從公元元年1月1日到9999年12月31日。只需要3個位元組的儲存空間是SQL Server 2008新引進的資料類型。它表示一個日子,不包含時間部分,可以表示的日期範圍從公元元年1月1日到9999年12月31日。只需要3個位元組的儲存空間
time 為秒的小數部分指定數位位元。
這可以是從 0 到 7 的整數。
預設的小數精度是 7 (100ns)。
預設的字串文字格式
(用於下級用戶端)
hh:mm:ss[. nnnnnnn]
有關詳細資料,請參閱後面的“下級用戶端的向後相容性”部分。
範圍
00:00:00.0000000 到 23:59:59.9999999
元素範圍
hh 是表示小時的兩位元字,範圍為 0 到 23。
mm 是表示分鐘的兩位元字,範圍為 0 到 59。
ss 是表示秒的兩位元字,範圍為 0 到 59。
n* 是 0 到 7 位元字,範圍為 0 到 9999999,它表示秒的小數部分。
字元長度
最小 8 位 (hh:mm:ss),最大 16 位 (hh:mm:ss. nnnnnnn)
Smalldatetime 日期時間型
smalldatetime 資料類型用來表示從1900年1月1日到2079年6月6日間的日期和時間,精確到一分鐘
datetime 日期時間型
datetime資料類型用來表示日期和時間。這種資料類型儲存從1753年1月1日到9999年12月31日間所有的日期和時間資料, 精確到三百分之一秒或3.33毫秒 .
DateTime2欄位類型對應的時間格式是 yyyy-MM-dd HH:mm:ss.fffffff ,7個f,精確到0.1微秒(μs),樣本 2014-12-03 17:23:19.2880929 。
如果用SQL的日期函數進行賦值,DateTime欄位類型要用 GETDATE() ,DateTime2欄位類型要用 SYSDATETIME()
datetimeoffset資料類型,加入了時區位移量部分,時區位移量表示為 [+|-] HH:MM。 HH 是範圍從 00 到 14 的 2 位元,表示時區位移量的小時數。 MM 是範圍從 00 到 59 的 2 位元,表示時區位移量的附加分鐘數。 時間格式支援到最小 100 毫微秒。 必需的 + 或 - 符號指示在 UTC(通用協調時間或格林尼治標準時間)中是加上還是減去時區位移量以擷取本地時間。使用樣本:
declare @dt as datetimeoffset(8)
set @dt = ‘2008-08-08 08:08:08.0 +8:00‘
select @dt
cursor 特殊資料型
cursor 資料類型是一種特殊的資料類型,它包含一個對遊標的引用。這種資料類型用在預存程序中,而且建立表時不能用
timestamp 特殊資料型
timestamp 資料類型是一種特殊的資料類型,用來建立一個資料庫範圍內的唯一數位。 一個表中只能有一個timestamp列。每次插入或修改一行時,timestamp列的值都會改變。儘管它的名字中有“time”, 但timestamp列不是人們可識別的日期。在一個資料庫裡,timestamp值是唯一的
binary 位元據類型
binary資料類型用來儲存可達8000 位元組長的定長的位元據。當輸入表的內容接近相同的長度時,你應該使用這種資料類型.
varbinary 位元據類型
varbinary 資料類型用來儲存可達8000 位元組長的變長的位元據。當輸入表的內容大小可變時,你應該使用這種資料類型
image 位元據類型
image 資料類型用來儲存變長的位元據,最大可達231-1或大約20億位元組
Uniqueidentifier 特殊資料型
Uniqueidentifier資料類型用來儲存一個通用唯一識別碼,即GUID。GUID確實是全域唯一的。這個數幾乎沒有機會在另一個系統中被重建。可以使用NEWID 函數或轉換一個字串為唯一
標識符來初始化具有唯一識別碼的列 .
xml
sql_variant 相當於C#裡面的object類型。它可以存放很多種格式。例如一個sql_variant列既可以存放數字,也可以存放文本。
當然,正因為這樣的特性,它們在讀取的時候必須進過一些轉換,否則是不知道什麼類型的。而且這種轉換會有風險,這也就是所謂的類型不安全
geography 地理空間資料類型 geography 是作為 SQL Server 中的 .NET 通用語言執行平台 (CLR) 資料類型實現的。此類型表示圓形地球座標系中的資料。SQL Server geography 資料類型用於儲存諸如 GPS 緯度和經度座標之類的橢球體(圓形地球)資料。
geometry 平面空間資料類型 geometry 是作為 SQL Server 中的公用語言進行時 (CLR) 資料類型實現的。此類型表示歐幾裡得(平面)座標系中的資料。
Hierarchyid類型其實是一個CLR自訂資料類型依次開啟:資料庫->系統資料庫->master->可程式化性->類型->系統資料類型->CLR資料類型->hierarchyid,可以看到該資料類型.
欄位類型 描述
bit 0或1的整型數字
int 從-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型數字
smallint 從-2^15(-32,768)到2^15(32,767)的整型數字
tinyint 從0到255的整型數字
decimal 從-10^38到10^38-1的定精度與有效位元的數字
numeric decimal的同義字
money 從-2^63(-922,337,203,685,477.5808)到2^63-1(922,337,203,685,477.5807)的貨幣資料,最小貨幣單位千分之十
smallmoney 從-214,748.3648到214,748.3647的貨幣資料,最小貨幣單位千分之十
float 從-1.79E+308到1.79E+308可變精度的數字
real 從-3.04E+38到3.04E+38可變精度的數字
datetime 從1753年1月1日到9999年12日31的日期和時間資料,最小時間單位為百分之三秒或3.33毫秒
smalldatetime 從1900年1月1日到2079年6月6日的日期和時間資料,最小時間單位為分鐘
timestamp 時間戳記,一個資料庫寬度的唯一數字
uniqueidentifier 全球唯一識別碼GUID
char 定長非Unicode的字元型資料,最大長度為8000
varchar 變長非Unicode的字元型資料,最大長度為8000
text 變長非Unicode的字元型資料,最大長度為2^31-1(2G)
nchar 定長Unicode的字元型資料,最大長度為8000
nvarchar 變長Unicode的字元型資料,最大長度為8000
ntext 變長Unicode的字元型資料,最大長度為2^31-1(2G)
binary 定長位元據,最大長度為8000
varbinary 變長位元據,最大長度為8000
image 變長位元據,最大長度為2^31-1(2G)
-------------------------------------
Bit
1位,值為0或1
Int
Integer
4位元組,值為-2^31~2^31-1
Smallint
2位元組,值為-2^15~2^15-1
Tinyint
1位元組,值為0~255
Decimal (p,s)
數字資料,固定精度為P,寬度為S
Numeric
Money
8位元組,存放貨幣類型,值為-2^63~2^63-1
Small money
4位元組,存放貨幣類型,值為-214748.3648~+214748.3647近似數值資料類型
Float (n)
N在1~24之間,4位元組,7位精度
N=1~7為real
N在25~53之間,8位元組,15位精度
=8~15為float
Datetime
8位元組,描述某天的日期和時刻,值的精確度為1/300秒
Smalldatetime
4位元組,描述某天的日期和時刻,精度為分鐘
Cursor
對遊標的引用
Timestamp
8位元組,存放在資料庫內唯一的資料
Uniqueidentifier
16位元組,存放全域唯一標識(GUID)
Char (n)
非unicode字串的固定長度,n=1~8000
Character (n)
Varchar (n)
可變長度,非unicode字串n=1~8000
Char varying(n)
Text
伺服器字碼頁中可變長度非unicode資料。最大長度為231-1個字元
Nchar
固定長度unicode字串n=1~4000
National character (n),
National char(n)
Nvarchar
固定長度unicode字串n=1~4000
National character varying(n)
Ntext
可變長度unicode資料,最大長度為230-1個字元
National text
Binary (n)
固定長度位元據,n在1~8000之間,儲存空間為n+4位元組
Varbinary (n)
可變長度位元據,n=1~8000
Binary varying (n)
Tmage
可變長度位元據,大小為0~231-1
注意:
1) 對於數值型資料類型,寬度(scale)是指儲存在小數點後的數字位元,而精度(precision)是指能儲存的包含小數點在內的所有數字位元。
2) money和small money的儲存寬度為4。
3) 時間戳記列值在每一行更新時系統自動更新,時間戳記列不能是關鍵字或關鍵字的一部分。
4) 唯一標識資料類型不能使用算術操作符(如+、-等),這種資料類型只能使用相等比較操作。Unicode是所有字元集的一致儲存資料的標準。它要使用兩倍於非Unicode資料存放區的儲存空間。
SqlServer資料類型