sql ntext數據類型字符替換

---ntext數據類型字符替換
---2011-08-21 塗聚文 深圳大運會期間,政府貼出"溫馨提示",交通管制,世界之窗周邊不充許到陽台觀看,出入憑身份證

create table tt
(
  sid  INT IDENTITY(1,1),
  cont ntext
)
go

insert into tt(cont) values(N'fd sad fdsa 塗聚文工團 締友計算機信息技術有限公司 可能性    桔柑 ')
go
update tt set cont='fd sad fdsa 塗聚文工團 可能性 締友計算機信息技術有限公司   桔柑 ' where sid=1

--去空格
EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'
--sp_dboption 'pubs', 'select into/bulkcopy', 'true'
GO
DECLARE @ptrval binary(16),@i int,@k int,@f int
select @i=datalength(cont) from tt where sid=1
set @k=1
while @i>1
begin
    select @f=CHARINDEX(SPACE(1),cont) from tt where sid=1  ---SPACE(1)
    set @f=@f-1
    SELECT @ptrval = TEXTPTR(cont) FROM tt WHERE sid=1
 if @f>0
    UPDATETEXT tt.cont @ptrval @f 1 null
  if @k=@i
    break
  else
    set @k=@k+1
        continue
end
GO
--sp_dboption 'pubs', 'select into/bulkcopy', 'false'
EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'false'
GO

SELECT * FROM tt

---換英文字母
EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'

GO
DECLARE @ptrval binary(16),@i int,@k int,@f int
select @i=datalength(cont) from tt where sid=1
set @k=1
while @i>1
begin
    select @f=CHARINDEX('sad',cont) from tt where sid=1  ---SPACE(1)
    set @f=@f-1
    SELECT @ptrval = TEXTPTR(cont) FROM tt WHERE sid=1
 if @f>0
    UPDATETEXT tt.cont @ptrval @f 3 'ggg'
  if @k=@i
    break
  else
    set @k=@k+1
        continue
end
GO
SELECT * FROM tt

---中文字母
EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'
GO
DECLARE @ptrval binary(16),@i int,@k int,@f int
select @i=datalength(cont) from tt where sid=1
set @k=1
while @i>1
begin
    select @f=CHARINDEX('塗聚文',cont) from tt where sid=1  ---SPACE(1)
    set @f=@f-1
    SELECT @ptrval = TEXTPTR(cont) FROM tt WHERE sid=1
 if @f>0
    UPDATETEXT tt.cont @ptrval @f 6 '塗斯博'
  if @k=@i
    break
  else
    set @k=@k+1
        continue
end
GO
SELECT * FROM tt

EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'
GO
DECLARE @ptrval binary(16),@i int,@k int,@f int,@change nvarchar(20),@newstr nvarchar(20),@len int
set @change=N'sad' --要替換的字符
--set @len=datalength(@change)
set @len=len(@change)
set @newstr=N'ggg' --替換成的字符
select @i=datalength(cont) from tt where sid=1
set @k=1
while @i>1
begin
    select @f=CHARINDEX(@change,cont) from tt where sid=1  ---SPACE(1)
    set @f=@f-1
    SELECT @ptrval = TEXTPTR(cont) FROM tt WHERE sid=1
 if @f>0
    UPDATETEXT tt.cont @ptrval @f @len @newstr
  if @k=@i
    break
  else
    set @k=@k+1
        continue
end
GO
SELECT * FROM tt

EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'
GO
DECLARE @ptrval binary(16),@i int,@k int,@f int,@change nvarchar(20),@newstr nvarchar(20),@len int
set @change=N'塗聚文' --要替換的字符
--set @len=datalength(@change) --用此會出錯
set @len=len(@change)
set @newstr=N'塗斯博' --替換成的字符
select @i=datalength(cont) from tt where sid=1
set @k=1
while @i>1
begin
    select @f=CHARINDEX(@change,cont) from tt where sid=1  ---SPACE(1)
    set @f=@f-1
    SELECT @ptrval = TEXTPTR(cont) FROM tt WHERE sid=1
 if @f>0
    UPDATETEXT tt.cont @ptrval @f @len @newstr
  if @k=@i
    break
  else
    set @k=@k+1
        continue
end
GO
SELECT * FROM tt

update tt set cont='fd sad fdsa 塗聚文工團 可能性  締友計算機信息技術有限公司  桔柑 ' where sid=1
select datalength('塗聚文')
select len('塗聚文')
select datalength('sad')
select len('sad')
select len(SPACE(1))

EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'
DECLARE @ptrval binary(16),@i int,@k int,@f int,@change nvarchar(20),@newstr nvarchar(20),@len int
set @change=N'塗聚文' --要替換的字符
--set @len=datalength(@change) --用此會出錯
set @len=len(@change)
set @newstr=N'塗斯博' --替換成的字符
select @i=datalength(cont) from tt where sid=1
set @k=1
while @i>1
begin
    select @f=CHARINDEX(@change,cont) from tt where sid=1  ---SPACE(1)
    set @f=@f-1
    SELECT @ptrval = TEXTPTR(cont) FROM tt WHERE sid=1
 if @f>0
    UPDATETEXT tt.cont @ptrval @f @len @newstr
  if @k=@i
    break
  else
    set @k=@k+1
        continue
end
GO

EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'
DECLARE @ptrval binary(16),@i int,@k int,@f int,@change nvarchar(20),@newstr nvarchar(20),@len int
set @change=N'塗聚文' --要替換的字符
--set @len=datalength(@change) --用此會出錯
set @len=len(@change)
set @newstr=N'塗斯博' --替換成的字符
select @i=datalength(cont) from tt where sid=1
set @k=1
while @i>1
begin
    select @f=CHARINDEX(@change,cont) from tt where sid=1  ---SPACE(1)
    set @f=@f-1
    SELECT @ptrval = TEXTPTR(cont) FROM tt WHERE sid=1
 if @f>0
    UPDATETEXT tt.cont @ptrval @f @len @newstr
  if @k=@i
    break
  else
    set @k=@k+1
        continue
end
GO
时间: 2024-07-28 17:43:12

sql ntext數據類型字符替換的相关文章

ORACLE大數据類型的操作之一CLOB

oracle        ORACLE大數据類型的操作之一CLOB 作者: CCBZZP     大家在應用ORACLE的時候, 可能經常會用到對大數据類型的操作, 在這里我簡單的總結一下, 希望對大家能有所幫助! 也歡迎大家一起來探討, 以便共同進步, 共同發展!    本文對ORACLE的高手來說是不用看的.  1. 如何創建帶有CLOB類型字段的表?     CREATE TABLE TEST2 (AAA CLOB);  2. 如何對帶有CLOB類型字段的表增加記錄?     INSER

備份服務器端SQL SERVER數據庫至本地目錄

server /*數據庫備份存儲過程*//*支持從服務器備份數據至本地機器上*/-- 作者:yoncenCREATE PROCEDURE up_dbbackup(@backup_db_name VARCHAR(128),@filename VARCHAR(128), /*備份路徑+文件名*/@flag VARCHAR(60) OUTPUT)ASSET NOCOUNT ONDECLARE @sql NVARCHAR(4000),@par NVARCHAR(1000)IF NOT EXISTS( 

如何用asp把sql server數據轉化為execl文件

server 1.ASP文件: <%@ LANGUAGE="VBSCRIPT" %><%option explicit%><%'EXAMPLE AS:把数据库中一个每天24小时在线人数放到一个EXCEL文件中去'AUTHOR :钢铁工人'EMAIL :hello_hhb@21cn.com'DATE :2001-3-25'TEST :在NT4,SP6,SQL SERVER 7.0,EXCEL2000中测试通过%><HTML><HEAD

用DataSet來實現XML數據的添加﹑刪除

xml 對于數據庫的操作﹐一般都用SQL﹑Oracle等.在此﹐本文主要是利用C#來對XML做一些數據的簡單操作﹐實現的功能與對SQL等數據庫的操作一樣. 先在C#中新建一個網頁.添加兩個DataGrid控件和五個TextBox控件及三個Button控件 兩個DataGrid控件的ID分別為DG﹑DG1,其中DG用來用來顯示XML中的數據﹐為了以后需要﹐還要添加一個自定義的模板TemplateColumn,定義一個CheckBox控件﹐ID為ck,五個TextBox控將其中四個是為了實現想XML

搜索指定日期內的數據,並將數據導入Excl請教

问题描述 請問怎麼樣搜索指定日期內的數據,並將數據導入Excl中 解决方案 解决方案二:引用楼主david0620的帖子: 請問怎麼樣搜索指定日期內的數據,並將數據導入Excl中 我想前半句应该不是问题吧,那就解答你的后半句吧!publicstaticvoidExport(System.Web.UI.Pagepage,System.Data.DataTabletab,stringFileName,DataGriddg){System.Web.HttpResponsehttpResponse=pa

請問怎麼才能將GRIDVIEW中的數據導到EXCEL並由用戶選擇路徑存入客戶端,並在字符型或所有字段值前加入單引號?

问题描述 求救:我現在用C#寫了幾段代碼都無法解決這個問題!如果用數據流存儲,會出現如果字符串類型的數據導入EXCEL前面的001會直接變為1而用EXCEL存儲,不會有存儲框提示,自動存在了WEB服務器上,也沒任何提示!如何才能讓用戶選擇性存儲到客戶端?多謝方式一:文件流形式(但不能解決0開台的字串問題)protectedvoidGridViewToExcel(GridViewGdv,stringstitle){Response.Clear();Response.Buffer=true;Resp

怎樣將Active Directory members 存到Sql數據庫中

问题描述 最近在做一個AD系統,要將一個user(CN=person)用戶的存到sql數據庫中,其中有一項屬性:Memberof,它的個數是不確定的,也就是說一個用戶屬於哪幾個組,這個組的個數是不確定的,這樣在建表的時候就遇到問題了:字段不確定.後來想多建幾個字段,比如1024,但是我不清楚memberof的個數最多是幾個,會不會超出範圍,而且表的字段建太多的話,效能也會降低.各位大俠,有什麽解決方案嗎?不甚感激....... 解决方案 解决方案二:怎么沒人回答啊,自己頂解决方案三:路過路過路過

sql CONVERT() 字符串转整型 日期 字符型

sql convert() 字符串转整型 日期 字符型 转换成日期写法 convert(data_type(length),data_to_be_converted,style) 实例 select convert(varchar(30),getdate(),101) now 转换成整型 convert( int, column ) 如我要把手机号转换成整型, select convert(int(8),mo) moint 会报错,为什么,下面我们再看一下实例. select convert(b

如何在SQL Server實現特定時間數據匯出啊

问题描述 我在一個數據庫中建立了兩個表,一個叫new,一個叫old.兩個表中的欄位完全相同,現在由於每天new中增加很多,我想每隔一段時間,把new中的數據匯出(導出)到old中,請問怎麼實現這一功能啊??