CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

如何删除text字段的一部分数据

楼主houzy123(hh)2005-04-01 17:53:53 在 MS-SQL Server / 应用实例 提问

例如  
  text字段内容:  
  其中一条记录的内容为:aasdffgggggggggddd  
  另一条记录的内容为:ASASSDsdffretgtgggg  
  现在我想删除text字段上的ff  
  请问如何处理?  
   
   
  问题点数:0、回复次数:6Top

1 楼tonyring()回复于 2005-04-01 18:09:43 得分 0

drop   table   textTable  
  go  
  create   table   textTable   (textField   text)  
  go  
  INSERT   INTO   textTable   (textField)   VALUES   ('aasdffgggggggggddd')  
  INSERT   INTO   textTable   (textField)   VALUES   ('ASASSDsdffretgtgggg')  
  go  
  select   *   from   textTable  
  go  
  update   textTable   set   textField=REPLACE(cast(textField   as   varchar),'ff','')  
  go  
  select   *   from   textTable  
   
  比较简单的处理办法,但是textField字段的值不能超过8000Top

2 楼tonyring()回复于 2005-04-01 18:18:05 得分 0

补一句,如果textField字段的值的长度超过了8000,那么应先把textField字段中的值截分为多个段后再处理。。。Top

3 楼zhaovbo(休道梦,觉来空,当时亦梦中)回复于 2005-04-01 18:31:42 得分 0

declare   @ptr   binary(16)  
        select   @ptr   =   textptr(text)   from   TextTable   Where   ..  
        updatetext   texttable.text   @ptr   5   2Top

4 楼chiwei(水手)回复于 2005-04-01 18:42:41 得分 0

update   textTable   set   text=replace(text,'ff','')Top

5 楼tonyring()回复于 2005-04-01 19:22:40 得分 0

在MSSQL的帮助中,索引处查询updatetext,有方法可寻Top

6 楼zjcxc(邹建)回复于 2005-04-01 19:32:35 得分 0

--text字段应该用updatetext来处理(除非你的数据长度没有超过8000字节)  
   
  --示例  
   
  --测试数据  
  create   table   tb(col   text)  
  insert   tb   select   'aasdffgggggggggddd'  
  union   all   select   'ASASSDsdffretgtgggg'  
  go  
   
  --删除ff的处理  
  declare   @p   binary(16),@pos   int  
  declare   tb   cursor   local  
  for  
  select   textptr(col),patindex('%ff%',col)-1  
  from   tb  
  where   TEXTVALID('tb.col',textptr(col))=1   and   patindex('%ff%',col)>0  
  open   tb  
  fetch   tb   into   @p,@pos  
  while   @@fetch_status=0  
  begin  
  updatetext   tb.col   @p   @pos   2   ''  
  fetch   tb   into   @p,@pos  
  end  
  close   tb  
  deallocate   tb  
  go  
   
  --显示处理结果  
  select   *   from   tb  
  go  
   
  --删除测试  
  drop   table   tb  
   
  /*--结果  
   
  col                                            
  ------------------------  
  aasdgggggggggddd  
  ASASSDsdretgtgggg  
   
  (所影响的行数为   2   行)  
  --*/Top

相关问题

  • 下拉数据窗口字段的数据删除问题
  • 如何用代码删除数据表的一个字段?(keani)
  • oracle数据库中,如和删除一个字段?
  • 删除字段(SQL数据库)的问题
  • 如何删除数据窗口中的字段
  • 重复字段数据删除的问题……。
  • 如何编程方式删除数据表中的字段?
  • 如何用sql语句删除数据表中的字段,并且给另外一个字段改名?
  • 如何删除Text字段中的某一部分内容?
  • 可以在ORACLE中删除已有数据的一个字段吗?

关键词

  • 字段
  • 数据
  • 内容
  • texttable
  • 删除
  • textfield
  • asassdsdffretgtgggg
  • aasdffgggggggggddd
  • tb
  • textptr

得分解答快速导航

  • 帖主:houzy123

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo