基本方法:

UPDATETEXT { table_name.dest_column_name dest_text_ptr }//{ 要更新的表以及text、ntext 或 image 列的名称,指向要更新的 text、ntext 或 image 数据的文本指针的值(由 TEXTPTR 函数返回)。dest_text_ptr 必须为数据类型 binary(16)。

} { NULL | insert_offset } { NULL | delete_length } [ WITH LOG ] [ inserted_data | { table_name.src_column_name src_text_ptr } ]

新插入的数据可以是单个 inserted_data 常量、表名、列名或文本指针

Update 操作

UPDATETEXT 参数

替换现有数据

指定一个非空 insert_offset 值、非零 delete_length 值和要插入的新数据。

删除现有数据

指定一个非空 insert_offset 值、非零 delete_length 值和要插入的新数据。不指定要插入的新数据。

插入新数据

指定 insert_offset 值、为 0 的 delete_length 值和要插入的新数据。

为获得最佳性能,建议在插入或更新 text、ntext 和 image 数据时,使用 8,040 字节的倍数的块区大小。

  insert_offset

以零为基的更新起始位置。对于 text 或 image 列,

insert_offset 是在插入新数据前要从现有列的起点跳过的字节数。对于 ntext 列,

insert_offset 是字符数(每个 ntext 字符占用 2 个字节)。从此基数为零的起始点开始的现有

text、ntext 或 image 数据向右移,为新数据留出空间。值为 0 表示将新数据插入现有数据的开始处。

值为 NULL 则将新数据追加到现有数据值后。

delete_length

从 insert_offset 位置开始的、要从现有 text、ntext 或 image 列中删除的数据长度。

delete_length 值对于 text 和 image 列用字节指定,对于 ntext 列用字符指定。每个 ntext 字符占用 2 个字节。值为 0 表示不删除数据。值为 NULL 则删除现有 text 或 image 列中从 insert_offset 位置开始到末尾的所有数据。

WITH LOG

在 SQL Server 2000 中被忽略。在 SQL Server 2005 中,日志记录由数据库的实际恢复模型决定。

inserted_data

要插入现有 text、ntext 或 image 列的 insert_offset 位置的数据。这是单个 char、nchar、varchar、nvarchar、binary、varbinary、text、ntext 或 image 值。inserted_data 可以是文字或变量。

table_name.src_column_name

用作插入数据源的表或 text、ntext 或 image 列的名称。表名和列名必须符合标识符规则。

src_text_ptr

指向用作插入数据源的 text、ntext 或 image 列的文本指针值(由 TEXTPTR 函数返回)。

指向用作插入数据源的 text、ntext 或 image 列的文本指针值(由 TEXTPTR 函数返回)。

eg.在字段operlog(order_flight)后追加11

declare @ptrval binary(16)
select @ptrval=textptr(operlog) from order_flight where id=12475
updatetext order_flight.operlog @ptrval null 0 '11'

eg.删除表test中字段mytext的前两个字符

declare @ptrval binary(16)

select @ptrval=textptr(mytext) from test where id=2

updatetext test.mytext @ptrval  0 2 –(0是删除起始位置,2-删除字符串长度)

eg.替换test中id=2的字段mytext中所有’333’为’ABC’

declare @s_str varchar(8000),@d_str varchar(8000)

select @s_str='333' --要替换的字符串

,@d_str='ABC' --替换成的字符串

declare @p varbinary(16),@postion int,@rplen int

select @p=textptr(mytext),@rplen=len(@s_str),@postion=charindex(@s_str,mytext)-1 from test where id = 2

while @postion>=0

begin

updatetext test.mytext @p @postion @rplen @d_str

select @postion=charindex(@s_str,mytext)-1 from test where id = 2

end

SQL语句 SQL Server中Text类型操作相关推荐

  1. SQL Server中TEXT类型操作

    SQL Server中TEXT类型字段值在数据库中追加字符串方法 对text类型字段值进行追加更新的操作,一开始用了简单的update语句试了试,有错误,原来text.ntext类型的字段不能和 va ...

  2. 用MS SQL 语句修改表中字段类型

    [问题]用SQL 语句判断表中是否存在password字段,不存在则新增字段,若存在password字段,把字段的类型由int 类型改为text类型. [实现方法] if exists( select ...

  3. SQL Server中Text和varchar(max)数据类型区别

    SQL Server中Text和varchar(max)数据类型区别 以前只知道text和image是可能被SQL Server淘汰的数据类型,但具体原因不太清楚,今天读书的时候发现了text与var ...

  4. server sql 中类型为bit应该插入什么值_关于SQL Server中bit类型字段增删查改的一些事...

    前言 本文主要给大家介绍了关于SQL Server中bit类型字段增删查改的一些事,话说BIT类型字段之前,先看"诡异"的一幕,执行Update成功,但是查询出来的结果依然是1,而 ...

  5. sql crud_SQL Server中的CRUD操作

    sql crud CRUD operations are foundation operations every database developer and administrator needs ...

  6. 【SQL开发实战技巧】系列(十八):数据仓库中时间类型操作(进阶)INTERVAL、EXTRACT以及如何确定一年是否为闰年及周的计算

    系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...

  7. 【SQL开发实战技巧】系列(十六):数据仓库中时间类型操作(初级)日、月、年、时、分、秒之差及时间间隔计算

    系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...

  8. 【SQL开发实战技巧】系列(十九):数据仓库中时间类型操作(进阶)如何一个SQL打印当月或一年的日历?如何确定某月内第一个和最后—个周内某天的日期?

    系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...

  9. 【SQL开发实战技巧】系列(二十一):数据仓库中时间类型操作(进阶)识别重叠的日期范围,按指定10分钟时间间隔汇总数据

    系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...

  10. 【SQL开发实战技巧】系列(十七):数据仓库中时间类型操作(初级)确定两个日期之间的工作天数、计算—年中周内各日期出现次数、确定当前记录和下一条记录之间相差的天数

    系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...

最新文章

  1. 简单粗暴的canvas图片压缩
  2. 13种老人不适合带孩子_农村常见却叫上不上名字的13种野生植物,乡下长大的孩子都见过...
  3. BZOJ3675 [APIO2014]序列分割
  4. 苹果下周将推出紫色版iPhone 13 但只有高端版本
  5. adb echo shell 覆盖_Shell脚本的应用(一)
  6. 分享Silverlight/WPF/Windows Phone一周学习导读(05月09日-05月14日)
  7. 电子商务概论(农)之形考作业三
  8. Hi3519 设置crop动态调节输出分辨率
  9. Android 给透明png图片添加白色底色(修改像素点的形式)
  10. JS在H5下实现本地历史搜索记录
  11. snipeit 安装、备份文件恢复
  12. idm下载器(Internet Download Manager)
  13. 2022建筑电工(建筑特殊工种)考试题目模拟考试平台操作
  14. ARDUINO:控制两台步进电机同步运转
  15. GAMES101 Lec6 反走样与深度缓冲
  16. k8s主从自动切换mysql_K8S与Ceph RBD集成-多主与主从数据库示例
  17. DD 摆磁铁(计蒜客信息学8月普及组模拟赛)
  18. 教师资格证报名网站内部服务器错误,教师资格证报名入口进不去怎么办
  19. 计算机专业读书推荐卡图片大全,如何完成实践作业《好书推荐卡》,大家谈
  20. 最简单的判断自己体质方法

热门文章

  1. 金融贷款逾期模型 -- 029
  2. vmgsim 完整好用已经测试REFORM-3PC
  3. AMap(高德官方图层)
  4. 闲人闲谈PS之二十二——WBS结算规则批量维护函数
  5. 百度地图绘制大量标注点卡顿问题完美解决
  6. Ubuntu关闭开机自启动服务
  7. 信奥赛一本通 C++题解 2041【例5.9】新矩阵
  8. Swift中MVP、Moya、模型设计
  9. Moya、RxMoya基本使用
  10. 快速排序的时间复杂度和空间复杂度