Sql Server Text 類型列 查詢和更新


Text(ntext、image)類型為大數據字段,因為存儲方式不同,也決定了其查詢和更新不同於一般方法。

1、表定義:

2、查詢:

Like查詢是可用的:

select  * from dbo.node_def where comx like 'aaa'

推薦的READTEXT查詢(全部):

DECLARE @ptrval binary(16)
SELECT @ptrval = TEXTPTR(comx) from node_def
READTEXT node_def.comx @ptrval 0 0;

更多參數,詳見MSDN:http://msdn.microsoft.com/zh-cn/library/ms187365(v=sql.105).aspx

普通的select查詢(換種思路,轉換一下):

select  * from dbo.node_def where cast(comx as nvarchar) = 'aaa'

3、更新

UPDATETEXT方法:

DECLARE @ptrval binary(16)
SELECT @ptrval = TEXTPTR(comx) from node_def
UPDATETEXT node_def.comx @ptrval 0 null 'aaa'

更多參數參見MSDN:http://msdn.microsoft.com/zh-cn/library/ms189466.aspx

普通的update方法(換種思路,轉換一下):

update node_def set comx = cast('aaa' as text)

4、總結:

通過類型轉換的方式,也可以實現Text類型的select和update操作,但與官方推薦的READTEXT和UPDATETEXT相比操作簡單,大數據時效率方面可能不敢恭維。

但是,貌似READTEXT和UPDATETEXT只能讀取和更新最后一條數據,如果從大數據方面考慮也可以理解。不知您有何高見?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM