2011年11月7日 星期一

MS SQL 200 資料型態

資料型態:

資料型態說明範例
INT長度為 4 個 bytes;介於 -2,147,483,648 與 2,147,483,647 間的整數 
SMALLINT長度為 2 個 bytes;介於 -32,768 與 32,767 間的整數 
TINYINT長度為 1 個 bytes;介於 0 與 255 間的整數 
BIGINT長度為 8 個 bytes;介於 -2^63 與 2^63-1 間的整數 
FLOAT[(n)]n 是儲存 float 數字的小數位數,介於 1 與 53 間; 若 n 介於 1 與 24 間,儲存大小為 4 個 bytes,有效位數為 7 位數;若 n 介於 25 與 53 間,儲存大小為 8 個 bytes,有效位數為 15 位數
create table p_ex (num1 real, num2 float)
insert into p_ex values(4000000.123456789, 
                  4000000.123456789012345)
insert into p_ex values(400.123456789, 
                  400.1234567890123456789)
select * from p_ex
// real 共顯示八位數,float 共顯示 17 位數
REAL長度為 4 個 bytes;介於 -3.4E-38 與 3.4E+38 間的浮點數;與 FLOAT(24) 相同 
DECIMAL[(p[,s])]使用 2 到 17 個 bytes 來儲存資料,可儲存的值介於 -1038-1 與 1038-1 之間;p 用來定義小數點兩邊可以被儲存的位數總數目,而 s 代表小數點右邊的有效位數(s < p);p的預設值為 18 而 s 的預設值為0
create table p_ex (num1 numeric(19,9), 
                   num2 decimal)
insert into p_ex values(4000000.123456789, 
                  4000000.123456789012345)
select * from p_ex
NUMERIC[(p[,s])]與 DECIMAL[(p[,s])] 同 
CHAR[(n)]固定長度為 n 的字元型態,n 必須介於 1 與 8000 之間 
VARCHAR[(n)]與 CHAR 相同,只是若輸入的資料小於 n,資料庫不會自動補空格,因此為變動長度之字串 
NCHAR 與 NVARCHAR與 CHAR 以及 VARCHAR 相同,只是每一個 字元為兩個 bytes 的 unicode,且 n 最大為 4000 
DATETIME長度為 8 個 bytes;介於 1/1/1753 與 12/31/9999 間的日期時間 
SMALLDATETIME長度為 4 個 bytes;介於 1/1/1900 與 6/6/2079間的日期時間
create table d_ex (d1 datetime, 
                   d2 smalldatetime)
insert into d_ex values ('1/1/1753', 
                       'Jan 2 1900')
select * from d_ex
MONEY長度為 8 個 bytes 的整數,小數點的精確度取四位 
SMALLMONEY長度為 4 個 bytes 的整數,小數點的精確度取四位 
BIT只佔用一個位元,且不允許存放 NULL 值 
BINARY[(n)]固定長度為 n+4 個 bytes; n 為 1 到 8000 的值,輸入的 值必需符合兩個條件: (1) 每一個值皆為 0-9、a-f 的值;(2)每一個值的前面必須有 0X
create table b_ex (x binary(1), y binary(2))
insert into b_ex values(0x0, 0x0)
insert into b_ex values(0x1, 0x1)
insert into b_ex values(0xff, 0xff)
insert into b_ex values(0xfff, 0xfff)
insert into b_ex values(0xff, 0xfff)
insert into b_ex values(0xffff, 0xffff)
insert into b_ex values(0xff, 0xffff)
select * from b_ex
VARBINARY[(n)]與 BINARY 相同,只是若輸入的資料小於 n,資料庫 不會自動補 0,因此長度為變動的 
TEXT用來儲存大量的(可高達兩億個位元組)字元資料,儲存空間 以 8k 為單位動態增加 
NTEXT和 TEXT 雷同,只是儲存的是 Unicode 資料 
IMAGE和 TEXT 雷同,只是儲存的是影像資料 
SQL_VARIANT此資料型別可儲存 text、ntext、timestamp 與 sql_variant以外的各種 SQL Server 支援的資料型別。a sql_variant column can contain smallint values for some rows, float values for other rows, and char/nchar values in the remainder.
create table  b_ex (x int, y sql_variant)
insert into b_ex values(5, '五十')
insert into b_ex values(6, 60)
select * from b_ex

沒有留言:

張貼留言