sqlserver 修改替換text,ntext類型欄位的兩種方案

來源:互聯網
上載者:User

標籤:

方案一 用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=142IF @ptrval IS NOT NULLUPDATETEXT 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_UserBlogWHERE  BlogID=142--查詢條件UPDATETEXT  dbo.SNS_UserBlog.Description  @ptr @index @dl @val

 

sqlserver 修改替換text,ntext類型欄位的兩種方案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.