資料庫替換sql
在告訴大家如何替換數據內容之前,我建議大家先了解一下SQL Server資料庫的數據存儲類型:在使用iwms系統的過程中,我們會經常遇到數據內容的替換操作。在告訴大家如何替換數據內容之前,我建議大家先了解一下SQLServer資料庫的數據存儲類型:SQLServer數據類型:以上是資料庫的基礎知識,是做網站的朋友都應該知道的內容(無論你使用什麼cms),所以建議大家都耐心看一下。數據替換一般都發生在字元串數據欄位中,除了ntext類型欄位以外的其他字元串數據欄位都可以使用以下的sql語句進行替換:update [swf_Upload] set [Dir] = replace([Dir],'200901/14','200901/15')update [swf_Content] set [Description] =replace([Description],'200901/14','200901/15')update [swf_Content_01] set [content] = replace(convert(varchar(4000), [content]),'200901/14','200901/15') UPDATE [數據表名] SET [欄位名] = REPLACE([欄位名],'老字元串','新字元串') 比如,替換iwms文章數據表(iwms_news)中的標題欄位(title)的部分內容,我們應該這么寫:UPDATE [iwms_news] SET [title] = REPLACE([title],'老字元串','新字元串') 上面的sql語句在iwms後台的sql執行裡面可以直接執行,基本上可以搞定所有的替換操作,但是由於ntext數據長度的原因,這一方法對ntext類型欄位無效。那我們該用什麼方法替換ntext類型欄位的內容呢?方法有兩種:一是類型轉換,將ntext類型轉換為varchar類型,然後再用replace。適合於單頁內容最大長度<4000的文章。update [數據表名] set [欄位名] = replace(convert(varchar(4000), [欄位名]),'老字元串','新字元串') 比如,替換iwms文章數據表(iwms_news)中的標題欄位(content,ntext類型欄位)的部分內容,我們應該這么寫:update iwms_news set [content] = replace(convert(varchar(4000),[content]),'老字元串','新字元串')二是SQLServer存儲過程declare @ptr varbinary(16) declare @artId int declare @Position int,@len int set @len = datalength('老字元串') declare wux_Cursor scroll Cursorforselect textptr([欄位名]),[key欄位名] from [數據表名] for read only open wux_Cursor fetch next from wux_Cursor into @ptr,@artId while @@fetch_status=0beginselect @Position=patindex('%老字元串%',[欄位名]) from [數據表名] where [key欄位名]=@artId while @Position>0beginset @Position=@Position-1 updatetext [數據表名].[欄位名] @ptr @Position @len '新字元串' select @Position=patindex('%老字元串%',[欄位名]) from [數據表名] where [key欄位名]=@artIdendfetch next from wux_Cursor into @ptr,@artIdendclose wux_cursor deallocate wux_cursor go比如,替換iwms文章數據表(iwms_news)中的標題欄位(content,ntext類型欄位)的部分內容,我們應該這么寫declare @ptr varbinary(16) declare @artId int declare @Position int,@len int set @len = datalength('老字元串')
2. SQL資料庫替換命令
直接執行一下語句,即可批量替換資料庫中的內容
Update 表名 SET 欄位名=replace(欄位名,"e.16sucai.com","d.16sucai.com")
其中e.16suai.com 為原資料庫內容,d.16sucai.com為新內容,即替換後的內容。
3. 如何對sql資料庫中的某一欄位進行替換
update 表名 set 列1='yr' where 列1='hr'
如果換成REPLACE函數的話,具體語句如下:
update 表名 set 列1=replace(列1,'hr','yr') where 列1='hr'
以上語句的測試過了。
4. sql資料庫替換數據的問題
update
表名
set
欄位='-07'
where
欄位='-17'
我懷疑這樣是可以的
現在都變成0207這種格式的了?===>怎麼會這樣呢?這個02哪裡冒出來的啊
update
表名
set
欄位='-07'
where
欄位='0207'
你最好先開個小資料庫試試
我用Access的。。。。
等待高手ing
5. Sql資料庫查找替換如何寫謝謝
select case when (這里的對應關系自己寫一下) then "' else "" end as 欄位名 from table
6. SQL資料庫欄位之間替換
easy
update table set a=b,b=a ;
done
7. 如何替換SQL資料庫數據
樓上的回答可能沒辦法解決你的問題,你看一下a表及b表,看是否通過幾個欄位值組合成一個KEY(不重復的值為KEY),然後以這組合KEY為條件,update
B表對應的值。
8. sql資料庫數據替換
用更新來做唄~怕出問題,你可以先做個備份,或者select * into 到新表再做替換。
假設昨天的數據表為a,今天是為b
update a set a.欄位1=b.xx,a.欄位2=b.yy,…) where a.主鍵=b.主鍵
這樣做的前提是:昨天,今天的數據都以資料庫的形式存放。否則,只能重建數據(刪除後重新插入今天的數據)
9. 替換資料庫的SQL語句
update
表
set
內容欄位=replace(內容欄位,'
','
')內容長度不超過8千時,可以這樣,
如果是text類型
是不支持的只能截取update
表
set
內容欄位=replace(substring(欄位名稱,1,8000),'
','
'),這樣導致的結果就是如果長的話就截取了
不完整,所有如果長的話
還是用代碼取出來
替換後在存儲