sqlserver2005 TSql新功能學習總結(jié)(數(shù)據(jù)類型篇)
更新時間:2010年07月20日 01:53:23 作者:
sql server2005 TSql新功能學習總結(jié)(數(shù)據(jù)類型篇) ,希望對需要的朋友有所幫助。
sql server2005新增加了2大數(shù)據(jù)類型:
1.大值數(shù)據(jù)類型
2.xml
1.大值數(shù)據(jù)類型
Microsoft SQL Server 2005 中引入了 max 說明符。此說明符增強了 varchar、nvarchar 和 varbinary 數(shù)據(jù)類型的存儲能力。varchar(max)、nvarchar(max) 和 varbinary(max) 統(tǒng)稱為大值數(shù)據(jù)類型。您可以使用大值數(shù)據(jù)類型來存儲最大為 2^31-1 個字節(jié)的數(shù)據(jù)。
大值數(shù)據(jù)類型和 SQL Server 早期版本中與之對應的數(shù)據(jù)類型之間的關(guān)系:
varchar(max) text
nvarchar(max) ntext
varbinary(max) image
重要提示:
在 Microsoft SQL Server 以后的版本中,將刪除 ntext、text 和 image 數(shù)據(jù)類型。請避免在新開發(fā)工作中使用這些數(shù)據(jù)類型,并考慮修改當前使用這些數(shù)據(jù)類型的應用程序。請改用 nvarchar(max)、varchar(max) 和 varbinary(max)。
更新大值數(shù)據(jù)類型
UPDATE 語句支持 .WRITE( ) 子句對基礎(chǔ)大值數(shù)據(jù)列進行部分更新。這類似于 SQL Server 早期版本中所支持的對 text、ntext、image 數(shù)據(jù)類型的文本指針操作、WRITETEXT 和 UPDATETEX。
使用 .WRITE (expression, @Offset, @Length) 子句執(zhí)行對 varchar(max)、nvarchar(max) 和 varbinary(max) 等數(shù)據(jù)類型的部分或完整更新。
若要針對其他字符或二進制數(shù)據(jù)類型獲得相同的 .WRITE 功能,可以使用 STUFF等字符函數(shù)
注意事項:
0.@Offset 是基于零的序號位置.
1.不能使用 .WRITE 子句更新 NULL 列或?qū)?column_name 的值設(shè)置為 NULL。
注意事項:
0.@Offset 是基于零的序號位置.
1 .不能使用 .WRITE 子句更新 NULL 列或?qū)?column_name 的值設(shè)置為 NULL。
create table test1( ids int, DocumentSummary nvarchar(max))
go
select * from test1
go
insert into test1
select 1,null
go
select * from test1
go
--錯誤不能使用.WRITE 子句更新NULL 列
update test1
set DocumentSummary.WRITE(N'abcdefg',0,NULL)
--正確的
update test1
set DocumentSummary=N'abcdefg'
select * from test1
go
2.如果將 expression 設(shè)置為 NULL,則忽略 @Length,并將 column_name 中的值按指定的 @Offset 截斷。
--把efg截斷,得到abcd
update test1
set DocumentSummary.WRITE(Null , 4 ,0)
select * from test1
go
3.如果 @Offset 為 NULL,則更新操作將在現(xiàn)有 column_name 值的結(jié)尾追加 expression,并忽略 @Length。
-- 在結(jié)尾追加hi,得到abcdefghi
update test1
set DocumentSummary.WRITE('hi' , null ,0)
select * from test1
go
4.如果 @Length 為 NULL,則更新操作將刪除從 @Offset 到 column_name 值的結(jié)尾的所有數(shù)據(jù)。
-- 得到ahi
update test1
set DocumentSummary.WRITE('hi' , 1 ,null)
select * from test1
go
.xml
存儲的 xml 數(shù)據(jù)類型表示實例大小不能超過 2 GB。
1.大值數(shù)據(jù)類型
2.xml
1.大值數(shù)據(jù)類型
Microsoft SQL Server 2005 中引入了 max 說明符。此說明符增強了 varchar、nvarchar 和 varbinary 數(shù)據(jù)類型的存儲能力。varchar(max)、nvarchar(max) 和 varbinary(max) 統(tǒng)稱為大值數(shù)據(jù)類型。您可以使用大值數(shù)據(jù)類型來存儲最大為 2^31-1 個字節(jié)的數(shù)據(jù)。
大值數(shù)據(jù)類型和 SQL Server 早期版本中與之對應的數(shù)據(jù)類型之間的關(guān)系:
varchar(max) text
nvarchar(max) ntext
varbinary(max) image
重要提示:
在 Microsoft SQL Server 以后的版本中,將刪除 ntext、text 和 image 數(shù)據(jù)類型。請避免在新開發(fā)工作中使用這些數(shù)據(jù)類型,并考慮修改當前使用這些數(shù)據(jù)類型的應用程序。請改用 nvarchar(max)、varchar(max) 和 varbinary(max)。
更新大值數(shù)據(jù)類型
UPDATE 語句支持 .WRITE( ) 子句對基礎(chǔ)大值數(shù)據(jù)列進行部分更新。這類似于 SQL Server 早期版本中所支持的對 text、ntext、image 數(shù)據(jù)類型的文本指針操作、WRITETEXT 和 UPDATETEX。
使用 .WRITE (expression, @Offset, @Length) 子句執(zhí)行對 varchar(max)、nvarchar(max) 和 varbinary(max) 等數(shù)據(jù)類型的部分或完整更新。
若要針對其他字符或二進制數(shù)據(jù)類型獲得相同的 .WRITE 功能,可以使用 STUFF等字符函數(shù)
注意事項:
0.@Offset 是基于零的序號位置.
1.不能使用 .WRITE 子句更新 NULL 列或?qū)?column_name 的值設(shè)置為 NULL。
注意事項:
0.@Offset 是基于零的序號位置.
1 .不能使用 .WRITE 子句更新 NULL 列或?qū)?column_name 的值設(shè)置為 NULL。
復制代碼 代碼如下:
create table test1( ids int, DocumentSummary nvarchar(max))
go
select * from test1
go
insert into test1
select 1,null
go
select * from test1
go
--錯誤不能使用.WRITE 子句更新NULL 列
update test1
set DocumentSummary.WRITE(N'abcdefg',0,NULL)
--正確的
update test1
set DocumentSummary=N'abcdefg'
select * from test1
go
2.如果將 expression 設(shè)置為 NULL,則忽略 @Length,并將 column_name 中的值按指定的 @Offset 截斷。
復制代碼 代碼如下:
--把efg截斷,得到abcd
update test1
set DocumentSummary.WRITE(Null , 4 ,0)
select * from test1
go
3.如果 @Offset 為 NULL,則更新操作將在現(xiàn)有 column_name 值的結(jié)尾追加 expression,并忽略 @Length。
復制代碼 代碼如下:
-- 在結(jié)尾追加hi,得到abcdefghi
update test1
set DocumentSummary.WRITE('hi' , null ,0)
select * from test1
go
4.如果 @Length 為 NULL,則更新操作將刪除從 @Offset 到 column_name 值的結(jié)尾的所有數(shù)據(jù)。
復制代碼 代碼如下:
-- 得到ahi
update test1
set DocumentSummary.WRITE('hi' , 1 ,null)
select * from test1
go
.xml
存儲的 xml 數(shù)據(jù)類型表示實例大小不能超過 2 GB。
您可能感興趣的文章:
- SQL Server 中的數(shù)據(jù)類型隱式轉(zhuǎn)換問題
- SQL Server中T-SQL 數(shù)據(jù)類型轉(zhuǎn)換詳解
- 詳解SQL Server中的數(shù)據(jù)類型
- SQL Server數(shù)據(jù)類型轉(zhuǎn)換方法
- SQL Server比較常見數(shù)據(jù)類型詳解
- SQL Server數(shù)據(jù)類型char、nchar、varchar、nvarchar的區(qū)別淺析
- SQL Server中實現(xiàn)二進制與字符類型之間的數(shù)據(jù)轉(zhuǎn)換
- SQLserver查詢數(shù)據(jù)類型為ntext是空或NULL值的方法
- SQL SERVER 數(shù)據(jù)類型詳解補充2
- sql server 常用的幾個數(shù)據(jù)類型
- sqlserver 數(shù)據(jù)類型轉(zhuǎn)換小實驗
- SQL SERVER的數(shù)據(jù)類型
- Sql Server之數(shù)據(jù)類型詳解
相關(guān)文章
Sql Server2005實現(xiàn)遠程備份數(shù)據(jù)庫
相信大家都在當心數(shù)據(jù)庫的丟失,這也是每個開發(fā)者頭痛的一件事件,因為正在運行的服務器及數(shù)據(jù)庫也在這臺服務器上2014-04-04SQL Server 2005 Express 安裝失敗解決辦法
本人重裝vs2005后,sql sever 2005 express卻一直安裝不上,造成寫好的網(wǎng)頁無法運行。多次卸載重裝無果2009-03-03SQLServer2005 Output子句獲取剛插入的ID值
SQLServer2005的Output子句獲取剛插入的ID值2009-08-08SQL2005查詢表結(jié)構(gòu)的SQL語句使用分享
分享一個SQL2005查詢表結(jié)構(gòu)的SQL語句,大家參考使用吧2013-11-11SQL2005 ROW_NUMER實現(xiàn)分頁的兩種常用方式
SQL2005利用ROW_NUMER實現(xiàn)分頁的兩種常用方式2009-07-07SqlServer2005 數(shù)據(jù)庫同步配置圖文詳解
SqlServer2005 數(shù)據(jù)庫同步配置圖文詳解,使用sqlserver2005的朋友可以參考下2012-06-06Win2008中安裝的MSSQL2005后無法訪問的解決方法
最近筆者一直在使用Win2008系統(tǒng),不過發(fā)現(xiàn)一個很奇怪的問題,那就是在該系統(tǒng)上安裝了SQL2005后,再在其他計算機訪問該主機顯示不能訪問2014-07-07SQLSERVER 2005的ROW_NUMBER、RANK、DENSE_RANK的用法
SQL Server 2005 引入幾個新的排序(排名)函數(shù),如ROW_NUMBER、RANK、DENSE_RANK等。這些新函數(shù)使您可以有效地分析數(shù)據(jù)以及向查詢的結(jié)果行提供排序值。2010-07-07