SQL Server2005開發應用實例──ntext字段的REPLACE處理示例:
--測試數據
CREATE TABLE tb(col ntext)
INSERT tb VALUES(REPLICATE( '0001,0002,0003,0004,0005,0006,0007,0008,0009,0100,'
+'220000001,302000004,500200006,700002008,900002120,',800))
DECLARE @p binary(16)
SELECT @p=TEXTPTR(col) FROM tb
UPDATETEXT tb.col @p NULL 0 tb.col @p
GO
--替換處理定義
DECLARE @s_str nvarchar(1000),@r_str nvarchar(1000)
SELECT @s_str='00' --要替換的字符串
,@r_str='0000' --替換成該字符串
DECLARE @p varbinary(16)
DECLARE @start int,@s nvarchar(4000),@len int
DECLARE @s_len int,@step int,@last_repl int,@pos int
--替換處理參數設置
SELECT
--用于要判斷每次截取數據,最後一個被替換數據位置的處理
@s_len=LEN(@s_str),
--設置每次應該截取的數據的長度,防止REPLACE後數據溢出
@step=CASE WHEN LEN(@r_str)>LEN(@s_str)
THEN 4000/LEN(@r_str)*LEN(@s_str)
ELSE 4000 END
--替換處理的開始位置
SELECT @start=PATINDEX('%'+@s_str+'%',col),
@p=TEXTPTR(col),
@s=SUBSTRING(col,@start,@step),
@len=LEN(@s),
@last_repl=0
FROM tb
WHERE PATINDEX('%'+@s_str+'%',col)>0
AND TEXTVALID('tb.col',TEXTPTR(col))=1
WHILE @len>=@s_len
BEGIN
--得到最後一個被替換數據的位置
WHILE CHARINDEX(@s_str,@s,@last_repl)>0
SET @last_repl=@s_len
+CHARINDEX(@s_str,@s,@last_repl)
--如果需要,更新數據,同時判斷下一個取數位置的偏移量
IF @last_repl=0
SET @last_repl=@s_len
ELSE
BEGIN
SELECT @last_repl=CASE
WHEN @len<@last_repl THEN 1
WHEN @len-@last_repl>=@s_len THEN @s_len
ELSE @len-@last_repl+2 END,
@s=REPLACE(@s,@s_str,@r_str),
@pos=@start-1
UPDATETEXT TB.col @p @pos @len @s
END
--獲取下一個要處理的數據
SELECT @start=@start+LEN(@s)-@last_repl+1,
@s=SUBSTRING(col,@start,@step),
@len=LEN(@s),
@last_repl=0
FROM tb
END
GO
--顯示處理結果
SELECT datalength(col),* FROM tb
DROP TABLE tb
模擬字符串處理函數 stuff 處理 Ntext 字段模擬字符串處理函數 stuff 處理 Ntext 字段 模擬字符串處理函數 stuff 處理 Ntext 字段 if exists (select * from dbo.sysobjects where id = object_id(N'.[p_stuff]') and OBJECTPROPERTY(id, N'IsProcedu...查看完整版>>
模擬字符串處理函數 stuff 處理 Ntext 字段
模擬字符串處理函數 stuff 處理 Ntext 字段if exists (select * from dbo.sysobjects where id = object_id(N'.[p_stuff]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure .[p_stuff]GO /*--Ntext字段處理 模擬字符串處理函數 stuff 完成表中 ...查看完整版>>
模擬字符串處理函數 stuff 處理 Ntext 字段
SQL Server 2005日志文件損壞的處理方法在實際的工作和學習中,許多人的SQL Server 2005數據庫日志文件可能會發生損壞,例如硬件故障、計算機非正常重啓或關機等等。 在SQL Server 2005的日志文件損壞時,你會發現以下的情況: ◆1、在SQL Server Manageme...查看完整版>>
SQL Server 2005日志文件損壞的處理方法
SQL Server 2005安裝失敗的處理方法錯誤案例:在Microsoft Virtual PC 2007和一台筆記本電腦上安裝MSDN訂閱下載的SQL Server 2005企業版時出現問題。安裝環境爲windows Server 2003 企業版 + sp1,另外一個系統是帶sp2的,安裝用戶使用超級管理員(Adm...查看完整版>>
SQL Server 2005安裝失敗的處理方法
Java中讀取SQL Server數據庫空字段異常的Bug這兩天一直被一個問題困擾許久,自己的數據庫查詢中老是報異常 信息如下 method:ytd.software.businesslogic.db.dao.XAlarmTitleInfoDao.getAllResult(Unknown Source) 查找X_AlarmTitle...查看完整版>>
Java中讀取SQL Server數據庫空字段異常的Bug
怎樣向SQL Server插入帶有Image字段的記錄怎樣向SQL Server插入帶有Image字段的記錄 向SQL Server插入記錄相信大家都會做,但是如果表中帶有Image字段就不好弄了,這裏有一個例子,非常安全,同時也向大家展示動態生成控件的技巧(對高手來說班門弄斧了)proced...查看完整版>>
怎樣向SQL Server插入帶有Image字段的記錄
數據庫原理與應用-SQL Server 2005(普通高等教育“十一五”國家級規劃教材)|報價¥25.40|圖書,其他,仝春靈目錄:圖書,其他,品牌:仝春靈基本信息·頁碼:300 頁·出版日期:2009年·ISBN:7508464273·條形碼:9787508464275·包裝版本:1·裝幀:平裝·叢書名:普通高等教育“十一五”國家級規劃教材産品信息有問題嗎?請...查看完整版>>
數據庫原理與應用-SQL Server 2005(普通高等教育“十一五”國家級規劃教材)|報價¥25.40|圖書,其他,仝春靈
當您安裝SQL Server 2005或948109安全更新時,您收到錯誤780問題:當您安裝SQL Server 2005或948109安全更新時,您收到錯誤780原因:我們發現的錯誤是造成該SQL Server VSS Writer服務無法啓動(因爲它已被禁用) 。後面的7361錯誤是SQL Server的Active Directory Helper服務禁...查看完整版>>
當您安裝SQL Server 2005或948109安全更新時,您收到錯誤780
SQL Server 2005 Express Edition安裝步驟詳解隨著SQL Server 2005 ExPRess Edition、SQL Server Management Studio Express以及Microsoft SQL Desktop Edition的發布,微軟公司已經步入小型數據庫市場領域。SQL Server Management Studio Express是一款擁有各種...查看完整版>>
SQL Server 2005 Express Edition安裝步驟詳解