SQL Server 2005 常用資料型別詳解

2022-09-07 21:48:33 字數 2537 閱讀 2553

1. 字串資料型別

char

此資料型別可儲存1~8000個定長字串,字串長度在建立時指定;如未指定,預設為char(1)。每個字元占用1byte儲存空間。

nchar

此資料型別可儲存1~4000個定長unicode字串,字串長度在建立時指定;如未指定,預設為nchar(1)。每個字元占用2bytes儲存空間。

varchar

此資料型別可儲存最大值為8000個字元的可變長字串。可變長字串的最大長度在建立時指定,如varchar(50),每個字元占用1byte儲存空間。

nvarchar

此資料型別可儲存最大值為4000個字元可變長unicode字串。可變長unicode字串的最大長度在建立時指定,如nvarchar(50),每個字元占用2bytes儲存空間。

text

此資料型別可儲存最大值為2147483647個字元的變長文字,並且無需指定其初始值,每個字元占用1byte儲存空間,一般用來儲存大段的文章。text資料型別實際上是乙個large object資料型別,預設情況下,此型別的資料不是儲存在資料行內,而是儲存於獨立的large object資料頁上。另外,text資料型別不能做為函式、儲存過程或觸發器中的引數來用。

ntext

同text資料型別,只不過儲存的是最大值為1073741823個字元的unicode變長文字,每個字元占用1byte儲存空間。

說明:無論使用哪種字串資料型別,字串值必須放在引號內,推薦使用單引號。

2. 數值資料型別

bit此資料型別儲存值為0或1的二進位製欄位。占用1byte儲存空間。

tinyint

此資料型別儲存0~255的整數,占用1byte儲存空間。

smallint

此資料型別儲存-32768~32767的整數,占用2bytes儲存空間。

int此資料型別儲存-2147483648~2147483647的整數,占用4bytes儲存空間。

bigint

此資料型別儲存-9223372036854775808~9223372036854775807的整數,占用8bytes儲存空間。

decimal/numeric

這兩個資料型別功能相同,均為儲存精度可變的浮點值。但推薦採用decimal,因其儲存的資料「更有說明性」。此種資料型別由兩個值來確定decimal(p,s),p為精度,s為標量,如decimal(3,2),其中數值2為小數的位數,那麼decimal(3,2)可用來儲存如1.28這樣的浮點數。此種資料型別占用的儲存空間取決於精度值p。p為1~9,占用5bytes儲存空間;p為10~19,占用9bytes儲存空間;p為20~28,占用13bytes儲存空間;p為29~38,占用17bytes儲存空間。

float

此資料型別儲存1~53的可變精度的浮點值,精度表示為float(n),n表示科學記數法的尾數,取值範圍為-1.79e+308~-2.23e-308的負數和2.23e-308~1.79e+308的正數。其儲存空間由精度值決定,n為1~24,占用4bytes儲存空間;n為25~53,占用8bytes儲存空間。

real

此資料型別儲存-3.40e+38~-1.18e-38的負數和1.18e~3.40e+38的正數。占用4bytes儲存空間。

smallmoney

此資料型別儲存-214748.3648~214748.3647的貨幣值,精確到小數後4位。占用4bytes儲存空間。

money

此資料型別儲存-922337203685477.5808~922337203685477.5807的貨幣值,精確到小數後4位。占用8bytes儲存空間。

3. 日期和時間資料型別

smalldatetime

此資料型別儲存從2023年1月1日到2023年6月6日的日期。占用4btyes儲存空間。

datetime

此資料型別儲存從2023年1月1日到2023年12月31日的日期。占用8bytes儲存空間。

4. 二進位制資料型別

binary

此資料型別儲存1~8000個字元的二進位制資料,其指定長度即為占用的儲存空間。

varbinary

此資料型別儲存可變長的二進位制資料,可在建立時指定其具體長度,也可不指定。

5. 其它資料型別

rowversion/timestamp

這兩種資料型別功能一樣,但microsoft建議在任何情況下盡可能地指明rowversion而不是timestamp,因為rowversion更加準確地反應了資料型別的真實性質。timestamp資料型別跟時間完全無關,它表明資料庫中的資料修改發生的相對順序。不要在鍵(尤其是主鍵)中使用timestamp列,因為每次修改行時,timestamp值都會更改。當指定資料型別為rowversion或timestamp,那麼sql

server會在對錶的插入或刪除等更新操作時自動生成乙個新值,並把這個新值放在合適的字段裡。此型別資料占用8bytes儲存空間。

uniqueidentifier

此型別資料儲存二進位制值,其作用與全域性唯一識別符號(guid)一樣。guid 主要用於在有多個節點、多台計算機的網路中,分配必須具有唯一性的識別符號。占用16bytes儲存空間。

**:

SQL Server2005複製實現

一 準備工作 1 在發布伺服器上建立乙個共享目錄,作為發布快照檔案的存放目錄。例如 在d 盤根目錄下建資料夾名為pub 2 設定sql 發布伺服器和訂閱伺服器均設定 步驟 開啟服務 控制面板 管理工具 服務 右擊sqlserver agent 屬性 登入 選擇 此帳戶 輸入或選擇第一步中建立的win...

SQL Server 2005完全解除安裝

sql server 2005的解除安裝是乙個非常頭疼的問題。我曾經嘗試過直接使用 新增或刪除程式 工具解除安裝 清除安裝目錄 刪除登錄檔內容等等各種方式綜合解除安裝,勉強成功。現在終於找到了乙個事半功倍的方法,多次嘗試,未有失敗,具體如下 第一種是微軟官方提供的工具 msicuu2.exe 微軟官...

SQLSERVER 2005 遞迴查詢

專案中有使用者組表usergroup如下 其中pid表示當前組的上級組 表資料如下 現在想查詢出頂級組 沒有上級組叫頂級組 a1組的所有子孫組id,sql如下 查詢子節點 with rtd1 as select id pid from usergroup rtd2 as select from rt...