• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >MsSql > sqlserver中怎么对text、ntext和image操作

sqlserver中怎么对text、ntext和image操作

作者:yuvmen 字体:[增加 减小] 来源:互联网 时间:2017-05-27

yuvmen通过本文主要向大家介绍了sqlserver,sqlserver对text、ntext和image类型操作等相关知识,希望本文的分享对您有所帮助

下面的函数和语句可以与   ntext、text   或   image   数据一起使用。   
  函数                           语句     
  DATALENGTH         READTEXT     
  PATINDEX             SET   TEXTSIZE     
  SUBSTRING           UPDATETEXT     
  TEXTPTR               WRITETEXT     
  TEXTVALID     
    
  主题:text字段   
  1:替换   
    
  --创建数据测试环境   
  create   table   #tb(aa   text)   
  insert   into   #tb   select   'abc123abc123,asd'   
    
  --定义替换的字符串   
  declare   @s_str   varchar(8000),@d_str   varchar(8000)   
  select   @s_str='123'   --要替换的字符串   
  ,@d_str='000' --替换成的字符串   
    
  --字符串替换处理   
  declare   @p   varbinary(16),@postion   int,@rplen   int   
  select   @p=textptr(aa),@rplen=len(@s_str),@postion=charindex(@s_str,aa)-1   from   #tb   
  while   @postion>0   
  begin   
  updatetext   #tb.aa   @p   @postion   @rplen   @d_str   
  select   @postion=charindex(@s_str,aa)-1   from   #tb   
  end   
    
  --显示结果   
  select   *   from   #tb   
    
  --删除数据测试环境   
  drop   table   #tb

---------------------------------------------------------------   
    
  /****************全部替换************************/   
  DECLARE   @ptrval   binary(16)   
  SELECT   @ptrval   =   TEXTPTR(aa)     FROM     #tb     WHERE   aa   like   '%数据2%'   
  if   @ptrval   is   not   null                 --   一定要加上此句,否则若找不到数据下一句就会报错   
  UPDATETEXT   #tb.aa   @ptrval   0   null   '数据3'   
    
  /****************在字段尾添加**********************************/   
  --定义添加的的字符串   
  declare   @s_str   varchar(8000)   
  select   @s_str='*C'   --要添加的字符串   
  --字符串添加处理   
  declare   @p   varbinary(16),@postion   int,@rplen   int   
  select   @p=textptr(detail)   from   test   where   id='001'   
  updatetext   test.detail   @p   null   null   @s_str   
    
  总结:   
  1:Text字段类型不能直接用replace函数来替换,必须用updatetext   
  2:字段比较不能用 where   字段   =   ‘某数据’,可以用like来代替   
  3:updatetext时,若@ptrval值为空会出错,需注意。

 

READTEXT   
  读取   text、ntext   或   image   列中的   text、ntext   或   image   值,从指定的偏移量开始读取指定的字节数。   
    
  语法   
  READTEXT   {   table.column   text_ptr   offset   size   }   [   HOLDLOCK   ]     
    
  参数   
  table.column   
    
  是从中读取的表和列的名称。表名和列名必须符合标识符的规则。必须指定表名和列名,不过可以选择是否指定数据库名称和所有者名称。   
    
  text_ptr   
    
  有效文本指针。text_ptr   必须是   binary(16)。   
    
  offset   
    
  开始读取   text、image   或   ntext   数据之前跳过的字节数(使用   text   或   image   数据类型时)或字符数(使用   ntext   数据类型时)。使用   ntext   数据类型时,offset   是在开始读取数据前跳过的字符数。使用   text   或   image   数据类型时,offset   是在开始读取数据前跳过的字节数。     
    
  size   
    
  是要读取数据的字节数(使用   text   或   image   数据类型时)或字符数(使用   ntext   数据类型时)。如果   size   是   0,则表示读取了   4   KB   字节的数据。   
    
  HOLDLOCK   
    
  使文本值一直锁定到事务结束。其他用户可以读取该值,但是不能对其进行修改。   
    
  注释   
  使用   TEXTPTR   函数获得有效的   text_ptr   值。如果返回不止一行,TEXTPTR   将返回指向指定行中的   text、ntext   或   image   列的指针,或返回指向查询所返回的最后一行中的   text、ntext   或   image   列的指针。由于   TEXTPTR   返回   16   字节的二进制字符串,所以最好声明一个控制文本指针的局部变量,然后在   READTEXT   中使用该变量。有关声明局部变量的更多信息,请参见   DECLARE   @local_variable。     
    
  示例   
  下例读取   pub_info   表中   pr_info   列的第   2   个至第   26   个字符。   
    
  USE   pubs   
  Go   
  DECLARE   @ptrval   varbinary(16)   
  SELECT   @ptrval   =   TEXTPTR(pr_info)     
        FROM   pub_info   pr   INNER   JOIN   publishers   p   
              ON   pr.pub_id   =   p.pub_id     
              AND   p.pub_name   =   'New   Moon   Books'   
  READTEXT   pub_info.pr_info   @ptrval   1   25   
  GO

 WR99vETEXT
允许对现有的 text、ntext 或 image 列进行无日志记录的交互式更新。该语句将彻底重写受其影响的列中的任何现有数据。WR99vETEXT 语句不能用在视图中的 text、ntext 和 image 列上。

UPDATETEXT
更新现有 text、ntext 或 image 字段。

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • SQL Server 中 RAISERROR 的用法详细介绍
  • SQL Server 2005安装配置方法图文教程 完美兼容Win7所有版本
  • Sqlserver2005日志文件太大如何减小
  • SQL Server中TRUNCATE事务回滚操作方法
  • JDBC连接Sql Server 2005总结
  • SQLServer2005 没有服务器名称的两种解决方法
  • Sql server 2005安装时ASP.Net版本注册要求警告的解决方法
  • Access 导入到SQL Server 2005的方法小结
  • sql server 2005数据库备份还原图文教程
  • SQL Server 连接到服务器 错误233的解决办法

相关文章

  • 2017-05-11关于SQLServer2005的学习笔记 XML的处理
  • 2017-05-11SQL Server 2005安装配置方法图文教程 完美兼容Win7所有版本
  • 2017-05-11SQL2005 存储过程解密方法
  • 2017-05-11SQL2005重新生成索引的的存储过程 sp_rebuild_index 原创
  • 2017-05-11SQL 2008 还原SQL 2005备份文件不成功的解决方法
  • 2017-05-11SQL查询日志 查看数据库历史查询记录的方法
  • 2017-05-11SQL Server2005打开数据表中的XML内容时报错的解决办法
  • 2017-05-11SQL Server 2008中SQL之WaitFor使用介绍
  • 2017-05-11MSSQL 2005 LOG备份webshell的方法
  • 2017-05-11同时安装vs2005团队开发版和sql 2005企业版的方法(downmoon原作)

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • SQL Server 2008 R2 企业版/开发版/标准版(中英文下载,带序列号)
    • SQL Server2005打开数据表中的XML内容时报错的解决办法
    • SQL Server 2008中SQL之WaitFor使用介绍
    • SQL2005学习笔记 APPLY 运算符
    • SQLServer2005 中的几个统计技巧
    • SQL Server Management Studio Express管理器 没有导入导出数据的向导的解决方法
    • SQL Server 2008 数据库镜像部署实例之一 数据库准备
    • SQL Server 2008 清空删除日志文件(瞬间日志变几M)
    • SQL 2008安装时出现从新启动计算机提示如何解决
    • SQL Server 使用 SET FMTONLY ON 获得表的元数据

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有