方案一 用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=142
IF @ptrval IS NOT NULL
UPDATETEXT 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_UserBlog
WHERE BlogID=142--查询条件
UPDATETEXT dbo.SNS_UserBlog.Description @ptr @index @dl @val

sqlserver 修改替换text,ntext类型字段的两种方案的更多相关文章

  1. mssql查找备注(text,ntext)类型字段为空的方法

    在sql语句中,如果查找某个文本字段值为空的,可以用select * from 表 where 字段='' ,但是如果这个字段数据类型是text或者ntext,那上面的sql语句就要出错了. 解决办法 ...

  2. Number 强制类型转换 int 强制转换整型 float 强制转换浮点型 complex 强制转换成复数 bool 强制转换成布尔类型,结果只有两种,要么True 要么 False """bool 可以转换所有的数据类型 everything"""

    # ###Number 强制类型转换 var1 = 5 var2 = 4.85 var3 = True var3_2 = False var4 = 3+9j var5 = "888777&q ...

  3. 修改android的wifi客户端名称的两种方法

    修改android的wifi客户端名称的两种方法     手机连接到无线路由时,在dhcp的客户端列表里面是这样的名称"android-89425253e5de3a2",这就是安卓 ...

  4. Sqlserver更新数据表xml类型字段内容某个节点值的脚本

    GO USE [JC2010_MAIN_DB] 1.新建备份表JobObjectVersion_JCSchemVersion_BCK) GO IF EXISTS (SELECT * FROM sys. ...

  5. CentOS7下修改默认网卡名为eth0的两种方法

    前言 大家都知道CentOS7默认的网卡名称是和设备名称是随机的,如果要修改网卡名称以 eth 开头,有两种方式,如下: 第一种方式 这种方式适合在安装操作系统的时候进行设置, 点击 Tab,打开ke ...

  6. SqlServer不能将text列类型更改为ntext的问题

    可以先将text类型更改为nvarchar,在将nvarchar更改为ntext即可. alter db_note alter column [content] nvarchar; alter db_ ...

  7. thinkphp获取特定字段的两种方法

    thinkphp getField( )和field( ) 2014年10月05日 ⁄ 综合 ⁄ 共 1509字 ⁄ 字号 小 中 大 ⁄ 评论关闭 做数据库查询的时候,比较经常用到这两个,总是查手册 ...

  8. Jackson 处理复杂类型(List,map)两种方法

    http://blog.csdn.net/zhuyijian135757/article/details/38269715 —————————————————————————————————————— ...

  9. C#字段中加入list<类字段> 的两种写法

    类1 public class NumCon { public string zsNum { get; set; } } 类2 public class RepeatMess //重复数据响应 { p ...

随机推荐

  1. Using Text_IO To Read Files in Oracle D2k

    Suppose you want to read a file from D2k client and want to store its content in Oracle database. Bu ...

  2. JBOSS批量扫描

    exploit-db提供出了EXP,如下: /* * JBoss JMXInvokerServlet Remote Command Execution * JMXInvoker.java v0.3 - ...

  3. 01_Spring概述

    Spring概述 1.什么是Spring ? Spring是分层的JavaSE/EE full-stack(一站式) 轻量级开源框架 * JavaEE 程序在服务器端被分为三层(Web层[表现层].业 ...

  4. Python-爬虫初学

    #爬取网站中的图片 1 import re #正则表达式库 import urllib #url链接库 def getHtml(url): page = urllib.urlopen(url) #打开 ...

  5. HDU 5810 Balls and Boxes(盒子与球)

     Balls and Boxes(盒子与球) Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/O ...

  6. Thinkphp 3.2 添加 验证码 如何添加。

    1,在home模块indexController.class.php中,加入以下代码 <?php namespace Home\Controller; use Think\Controller; ...

  7. 简单的poi导出excel文件

    /**** 创建excel文件**/ 1 import java.io.FileOutputStream; import java.io.IOException; import java.util.C ...

  8. mysql 执行计划的理解

    1.执行计划就是在sql语句之前加上explain,使用desc 也可以.2.desc有两个选项extended和partitions,desc extended 将原sql语句进行优化,通过show ...

  9. Android PopupWindows使用

    源码测试示例: package com.example.popupwindown; import android.os.Bundle; import android.app.Activity; imp ...

  10. Python SSH登陆--pexpect,pxssh

    from pexpect import pxssh host = '192.168.80.139'user = 'allen'password = 'allen'command = 'df -h' d ...