sqlserver2005 TSql新功能學(xué)習(xí)總結(jié)(數(shù)據(jù)類(lèi)型篇)
更新時(shí)間:2010年07月20日 01:53:23 作者:
sql server2005 TSql新功能學(xué)習(xí)總結(jié)(數(shù)據(jù)類(lèi)型篇) ,希望對(duì)需要的朋友有所幫助。
sql server2005新增加了2大數(shù)據(jù)類(lèi)型:
1.大值數(shù)據(jù)類(lèi)型
2.xml
1.大值數(shù)據(jù)類(lèi)型
Microsoft SQL Server 2005 中引入了 max 說(shuō)明符。此說(shuō)明符增強(qiáng)了 varchar、nvarchar 和 varbinary 數(shù)據(jù)類(lèi)型的存儲(chǔ)能力。varchar(max)、nvarchar(max) 和 varbinary(max) 統(tǒng)稱(chēng)為大值數(shù)據(jù)類(lèi)型。您可以使用大值數(shù)據(jù)類(lèi)型來(lái)存儲(chǔ)最大為 2^31-1 個(gè)字節(jié)的數(shù)據(jù)。
大值數(shù)據(jù)類(lèi)型和 SQL Server 早期版本中與之對(duì)應(yīng)的數(shù)據(jù)類(lèi)型之間的關(guān)系:
varchar(max) text
nvarchar(max) ntext
varbinary(max) image
重要提示:
在 Microsoft SQL Server 以后的版本中,將刪除 ntext、text 和 image 數(shù)據(jù)類(lèi)型。請(qǐng)避免在新開(kāi)發(fā)工作中使用這些數(shù)據(jù)類(lèi)型,并考慮修改當(dāng)前使用這些數(shù)據(jù)類(lèi)型的應(yīng)用程序。請(qǐng)改用 nvarchar(max)、varchar(max) 和 varbinary(max)。
更新大值數(shù)據(jù)類(lèi)型
UPDATE 語(yǔ)句支持 .WRITE( ) 子句對(duì)基礎(chǔ)大值數(shù)據(jù)列進(jìn)行部分更新。這類(lèi)似于 SQL Server 早期版本中所支持的對(duì) text、ntext、image 數(shù)據(jù)類(lèi)型的文本指針操作、WRITETEXT 和 UPDATETEX。
使用 .WRITE (expression, @Offset, @Length) 子句執(zhí)行對(duì) varchar(max)、nvarchar(max) 和 varbinary(max) 等數(shù)據(jù)類(lèi)型的部分或完整更新。
若要針對(duì)其他字符或二進(jìn)制數(shù)據(jù)類(lèi)型獲得相同的 .WRITE 功能,可以使用 STUFF等字符函數(shù)
注意事項(xiàng):
0.@Offset 是基于零的序號(hào)位置.
1.不能使用 .WRITE 子句更新 NULL 列或?qū)?column_name 的值設(shè)置為 NULL。
注意事項(xiàng):
0.@Offset 是基于零的序號(hào)位置.
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
--錯(cuò)誤不能使用.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 截?cái)唷?
--把efg截?cái)?得到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
存儲(chǔ)的 xml 數(shù)據(jù)類(lèi)型表示實(shí)例大小不能超過(guò) 2 GB。
1.大值數(shù)據(jù)類(lèi)型
2.xml
1.大值數(shù)據(jù)類(lèi)型
Microsoft SQL Server 2005 中引入了 max 說(shuō)明符。此說(shuō)明符增強(qiáng)了 varchar、nvarchar 和 varbinary 數(shù)據(jù)類(lèi)型的存儲(chǔ)能力。varchar(max)、nvarchar(max) 和 varbinary(max) 統(tǒng)稱(chēng)為大值數(shù)據(jù)類(lèi)型。您可以使用大值數(shù)據(jù)類(lèi)型來(lái)存儲(chǔ)最大為 2^31-1 個(gè)字節(jié)的數(shù)據(jù)。
大值數(shù)據(jù)類(lèi)型和 SQL Server 早期版本中與之對(duì)應(yīng)的數(shù)據(jù)類(lèi)型之間的關(guān)系:
varchar(max) text
nvarchar(max) ntext
varbinary(max) image
重要提示:
在 Microsoft SQL Server 以后的版本中,將刪除 ntext、text 和 image 數(shù)據(jù)類(lèi)型。請(qǐng)避免在新開(kāi)發(fā)工作中使用這些數(shù)據(jù)類(lèi)型,并考慮修改當(dāng)前使用這些數(shù)據(jù)類(lèi)型的應(yīng)用程序。請(qǐng)改用 nvarchar(max)、varchar(max) 和 varbinary(max)。
更新大值數(shù)據(jù)類(lèi)型
UPDATE 語(yǔ)句支持 .WRITE( ) 子句對(duì)基礎(chǔ)大值數(shù)據(jù)列進(jìn)行部分更新。這類(lèi)似于 SQL Server 早期版本中所支持的對(duì) text、ntext、image 數(shù)據(jù)類(lèi)型的文本指針操作、WRITETEXT 和 UPDATETEX。
使用 .WRITE (expression, @Offset, @Length) 子句執(zhí)行對(duì) varchar(max)、nvarchar(max) 和 varbinary(max) 等數(shù)據(jù)類(lèi)型的部分或完整更新。
若要針對(duì)其他字符或二進(jìn)制數(shù)據(jù)類(lèi)型獲得相同的 .WRITE 功能,可以使用 STUFF等字符函數(shù)
注意事項(xiàng):
0.@Offset 是基于零的序號(hào)位置.
1.不能使用 .WRITE 子句更新 NULL 列或?qū)?column_name 的值設(shè)置為 NULL。
注意事項(xiàng):
0.@Offset 是基于零的序號(hào)位置.
1 .不能使用 .WRITE 子句更新 NULL 列或?qū)?column_name 的值設(shè)置為 NULL。
復(fù)制代碼 代碼如下:
create table test1( ids int, DocumentSummary nvarchar(max))
go
select * from test1
go
insert into test1
select 1,null
go
select * from test1
go
--錯(cuò)誤不能使用.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 截?cái)唷?
復(fù)制代碼 代碼如下:
--把efg截?cái)?得到abcd
update test1
set DocumentSummary.WRITE(Null , 4 ,0)
select * from test1
go
3.如果 @Offset 為 NULL,則更新操作將在現(xiàn)有 column_name 值的結(jié)尾追加 expression,并忽略 @Length。
復(fù)制代碼 代碼如下:
-- 在結(jié)尾追加hi,得到abcdefghi
update test1
set DocumentSummary.WRITE('hi' , null ,0)
select * from test1
go
4.如果 @Length 為 NULL,則更新操作將刪除從 @Offset 到 column_name 值的結(jié)尾的所有數(shù)據(jù)。
復(fù)制代碼 代碼如下:
-- 得到ahi
update test1
set DocumentSummary.WRITE('hi' , 1 ,null)
select * from test1
go
.xml
存儲(chǔ)的 xml 數(shù)據(jù)類(lèi)型表示實(shí)例大小不能超過(guò) 2 GB。
您可能感興趣的文章:
- SQL Server 中的數(shù)據(jù)類(lèi)型隱式轉(zhuǎn)換問(wèn)題
- SQL Server中T-SQL 數(shù)據(jù)類(lèi)型轉(zhuǎn)換詳解
- 詳解SQL Server中的數(shù)據(jù)類(lèi)型
- SQL Server數(shù)據(jù)類(lèi)型轉(zhuǎn)換方法
- SQL Server比較常見(jiàn)數(shù)據(jù)類(lèi)型詳解
- SQL Server數(shù)據(jù)類(lèi)型char、nchar、varchar、nvarchar的區(qū)別淺析
- SQL Server中實(shí)現(xiàn)二進(jìn)制與字符類(lèi)型之間的數(shù)據(jù)轉(zhuǎn)換
- SQLserver查詢(xún)數(shù)據(jù)類(lèi)型為ntext是空或NULL值的方法
- SQL SERVER 數(shù)據(jù)類(lèi)型詳解補(bǔ)充2
- sql server 常用的幾個(gè)數(shù)據(jù)類(lèi)型
- sqlserver 數(shù)據(jù)類(lèi)型轉(zhuǎn)換小實(shí)驗(yàn)
- SQL SERVER的數(shù)據(jù)類(lèi)型
- Sql Server之?dāng)?shù)據(jù)類(lèi)型詳解
相關(guān)文章
SQL Server 使用 SET FMTONLY ON 獲得表的元數(shù)據(jù)
本文介紹SQL Server2005以及之后的版本,通過(guò) SET FMTONLY ON 獲得表的元數(shù)據(jù)的方法,小伙伴們可以參考一下。2016-05-05
PowerDesigner中如何導(dǎo)入SQL Server數(shù)據(jù)庫(kù)
這篇文章向我們介紹了如何導(dǎo)入SQL Server數(shù)據(jù)庫(kù)到PowerDesigner中的詳細(xì)步驟說(shuō)明,并附帶圖片介紹,需要了解的朋友可以參考下2015-07-07
關(guān)于SQLServer2005的學(xué)習(xí)筆記 XML的處理
在 SQLServer2005 中對(duì) XML 的處理功能顯然增強(qiáng)了很多,提供了 query(),value(),exist(),modify(),nodes() 等函數(shù)。2010-04-04
sql2005 數(shù)據(jù)庫(kù)轉(zhuǎn)為sql2000數(shù)據(jù)庫(kù)的方法(數(shù)據(jù)導(dǎo)出導(dǎo)入)
今天一網(wǎng)友問(wèn)我如何將sql2005數(shù)據(jù)庫(kù)轉(zhuǎn)換為sql2000,因?yàn)閟ql2005不如用sql2000更簡(jiǎn)單與熟悉,其實(shí)就是通過(guò)數(shù)據(jù)導(dǎo)出導(dǎo)入的方法即可,這里分享下方便需要的朋友2012-11-11
SQLServer2005 沒(méi)有服務(wù)器名稱(chēng)的兩種解決方法
這篇文章主要介紹了SQLServer2005 沒(méi)有服務(wù)器名稱(chēng)的兩種解決方法,需要的朋友可以參考下2015-01-01
SQL2005查看死鎖存儲(chǔ)過(guò)程sp_who_lock
本文分享一個(gè)查看死鎖的存儲(chǔ)過(guò)程,方便技術(shù)人員查找產(chǎn)生死鎖的原因。2016-03-03

