当前位置:  数据库>sqlserver

sql server替换text或ntext字段内容的方法汇总

    来源: 互联网  发布时间:2014-08-29

    本文导语:  替换text或ntext字段内容,参考语句:   代码示例: update 表名 set text类型字段名=replace(convert(varchar(8000),text类型字段名),'要替换的字符','替换成的值') 1,update ntext: (1)、varchar和nvarchar类型是支持replace,所以如果你的text/ntext不超...

替换text或ntext字段内容,参考语句:
 

代码示例:
update 表名
set text类型字段名=replace(convert(varchar(8000),text类型字段名),'要替换的字符','替换成的值')

1,update ntext:
(1)、varchar和nvarchar类型是支持replace,所以如果你的text/ntext不超过8000/4000可以先转换成前面两种类型再使用replace。
 

代码示例:

update 表名
set text类型字段名=replace(convert(varchar(8000),text类型字段名),'要替换的字符','替换成的值')

update 表名
set ntext类型字段名=replace(convert(nvarchar(4000),ntext类型字段名),'要替换的字符','替换成的值')

(2)、如果text/ntext超过8000/4000,例如:
 

代码示例:
declare @pos int
declare @len int
declare @str nvarchar(4000)
declare @des nvarchar(4000)
declare @count int
   set @des =''--要替换成的值
   set @len=len(@des)
   set @str= ''--要替换的字符
   set @count=0--统计次数.
WHILE 1=1
   BEGIN
   select @pos=patINDEX('%'+@des+'%',propxmldata) - 1
   from 表名
   where 条件
  IF @pos>=0
  begin
   DECLARE @ptrval binary(16)
  SELECT @ptrval = TEXTPTR(字段名)
  from 表名
  where 条件
  UPDATETEXT 表名.字段名 @ptrval @pos @len @str
  set @count=@count+1
  end
  ELSE
 break;
   END
   select @count

2,alter column语句有局限性,比如不允许修改text、image、ntext 或 timestamp 列.
修改ntext列的例子:
 

代码示例:
Alter Table tbl Add newcol ntext null
 go
 update tbl set newcol=col
 go
 EXEC sp_rename 'tbl.col', 'oldcol', 'COLUMN'
 go
 EXEC sp_rename 'tbl.newcol', 'col', 'COLUMN'
 go
 alter table tbl drop column oldcol
 go

以上通过新增一列替换旧的列方法实现了将一个不允许为空的ntext修改为允许为空的ntext列。
注意:以上的go不能缺少。
修改表结构之后,由于视图所依赖的基础对象的更改,视图的持久元数据会过期,需要刷新视图,通过sp_refreshview (可以通过sp_depends 找处相关的视图,再通过sp_refreshview逐个刷新)。
另外,也可以通过以下存储过程刷新所有视图:
 

代码示例:
PRINT 'Refreshing all views...'
DECLARE @vName sysname
DECLARE refresh_cursor CURSOR FOR
SELECT Name from sysobjects WHERE xtype = 'V'
order by crdate
FOR READ ONLY
OPEN refresh_cursor
FETCH NEXT FROM refresh_cursor
   INTO @vName
 WHILE @@FETCH_STATUS -1
BEGIN
  exec sp_refreshview @vName
  PRINT '视图' + @vName + ' refreshed'
  FETCH NEXT FROM refresh_cursor
   INTO @vName
END
CLOSE refresh_cursor
DEALLOCATE refresh_cursor

    
 
 

您可能感兴趣的文章:

  • SQL字符型字段按数字型字段排序实现方法
  • 在Java中,用Mircosoft SQL Server数据库,请问要进行日期字段的读取,用( ResultSet rs ; rs.getDate(1),其中1代表相应的字段为 DateTi
  • sql添加字段与刪除字段的方法
  • sql 查询所有数据库、表名、表字段的代码
  • 请问如何取出SQL数据库里某表某字段的description内容
  • SQL SERVER如何判断某个字段包含大写字母
  • 如何成功读取并显示SQL数据库中image类型字段?
  • 100分求教,如何读取sql server 2000下的Ntext字段的内容,急~~~
  • sql修改字段长度(练习)
  • 小女子请求各位帮忙,为什么读取不了sql server 2000的image字段?
  • 一条SQL语句修改多表多字段(多表更新)
  • mysql把一个表某个字段的内容复制到另一张表的某个字段的SQL语句写法
  • Sql添加删除字段,判断字段是否存在的方法示例
  • 获取sql server表中的所有列字段名称的方法
  • sql server中添加字段、删除字段、修改字段说明
  • SQL SERVER使用REPLACE将某一列字段中的某个值替换为其他的值
  • sql 插入单引号、添加、删除字段的例子
  • 获取SQL Server表字段的各种属性的sql语句
  • 在jsp中,如何来提取sql7.0中的时间字段,急急!!!!
  • SQL-ORDER BY 多字段排序(升序、降序)
  • MSSQL批量替换语句 在SQL SERVER中批量替换字符串的方法
  • 用SQL语句实现替换字符串
  • sql server批量替换字符串的方法
  • Discuz批量替换帖子内容的方法(使用SQL更新数据库)
  • Sql 批量替换所有表中内容
  • JS、replace利用正则表达式替换SQL所有参数为指定格式的数据
  • mysql替换表中的字符串的sql语句
  • SQL Server正则表达式 替换函数应用详解
  • replace MYSQL字符替换函数sql语句分享(正则判断)
  • 批量替换sqlserver数据库挂马字段并防范sql注入攻击的代码
  • mysql部分替换sql语句分享
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • sql分类汇总及Select的自增长脚本
  • sql 分类汇总统计代码
  • sql日期格式转换方法汇总(常用)
  • sql将时间类型转换为字符串类型汇总
  • Oracle实现分页查询的SQL语法汇总
  • 经典SQL语句大全 常用sql语句汇总
  • 数据库连接方式汇总(sql与oracle等)
  • sql server实现字符串拆分函数split的方法汇总
  • SQL字符串以及数字常用操作汇总
  • SQL Server页类型汇总+疑问汇总
  • 基于SQL中的数据查询语句汇总
  • 超详细的SQL语句语法汇总
  • SQL Server优化50法汇总
  • SQL语句(T-SQL汇总) 用T-SQL画出这些图形
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL Server统计SQL语句执行时间的脚本
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍
  • SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
  • java命名空间java.sql接口rowid的类成员方法: tostring定义及介绍
  • SQL客户端管理工具 SQuirreL SQL Client
  • java命名空间javax.sql.rowset接口joinrowset的类成员方法: getwhereclause定义及介绍
  • 如何处理此错误:java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]没有执行可选特性
  • java命名空间java.sql接口statement的类成员方法: execute定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3