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