博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sqlserver 修改替换text,ntext类型字段的两种方案
阅读量:6892 次
发布时间:2019-06-27

本文共 1009 字,大约阅读时间需要 3 分钟。

方案一 用Update和Replace

--替换语句(因为varchar(max)最大值是8000,所以大于8000的部分会被截掉)UPDATE dbo.SNS_UserBlog SET [Description]=REPLACE(CAST([Description] AS VARCHAR(max)),'sx','')WHERE BlogID=142

这个方案有一定局限性那就是字段的长度不能超过8000。

方案二 UPDATETEXT 方法

--更新语句DECLARE @ptrval BINARY(16)  SELECT @ptrval=TEXTPTR([Description])  FROM SNS_UserBlog WHERE BlogID=142IF @ptrval IS NOT NULLUPDATETEXT SNS_UserBlog.[Description] @ptrval NULL NULL 'hellotheword sx'--替换语句(因为varchar(max)最大值是8000,所以大于8000的部分会被截掉)UPDATE dbo.SNS_UserBlog SET [Description]=REPLACE(CAST([Description] AS VARCHAR(max)),'sx','')WHERE BlogID=142

方案三 UPDATETEXT参数拓展方法

--替换语句DECLARE @ptr binary(16)--文本指针DECLARE @oldstr VARCHAR(400)declare @dl INT--需要替换的字符串的长度DECLARE @val VARCHAR(400)--替换后的新字符串DECLARE @index INT --要插入的 开始位置set @oldstr = 'sx'--需要替换的字符串set @dl = len(@oldstr)--字符串块长度SELECT @ptr=TEXTPTR([Description]),@val='',@index=CHARINDEX(@oldstr,[Description])-1 FROM  dbo.SNS_UserBlogWHERE  BlogID=142--查询条件UPDATETEXT  dbo.SNS_UserBlog.Description  @ptr @index @dl @val

 

转载地址:http://zchbl.baihongyu.com/

你可能感兴趣的文章
oracle merge同时包含增、删、改
查看>>
Docker 命令
查看>>
如何在andorid native layer中加log function.【转】
查看>>
创建以API为中心的Web应用(转)
查看>>
互动网计算机频道图书7日销售排行(05.12-05.19)
查看>>
POJ 3528 Ultimate Weapon(三维凸包表面积)
查看>>
Qt信号槽的一些事
查看>>
杂七杂八的文档资料。
查看>>
C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 访问频率限制功能实现、防止黑客扫描、防止恶意刷屏...
查看>>
启发式算法(Heuristic Algorithm)
查看>>
How to: Set Tomato Firmware for Wireless Client Modes
查看>>
怎么和公司谈出合理的期权激励?
查看>>
产品经理如何进行产品数据分析?
查看>>
『PyTorch』第二弹_张量
查看>>
高刷新率大屏“吃鸡”更轻松,ROG枪神2 Plus游戏本体验
查看>>
.NET (C#) Internals: ASP.NET 应用程序与页面生命周期(意译)
查看>>
细说多线程(八) —— 计时器与锁
查看>>
彻底理解Cisco/Linux/Windows的IP路由
查看>>
如何在Hyper-V虚拟中安装Hyper-V角色
查看>>
通用XPE操作系统
查看>>