A. sql 替換 語句
update
GOODS
set
GoodsNamestr=replace(GoodsNamestr,'商品名稱','寶貝名稱')
update
GOODS
set
GoodsNamestr=replace(GoodsNamestr,'商品名稱','寶貝名稱')
where
ID=7
--------------------------
伺服器:
消息
306
級別
16
狀態
1
行
1
能比較或排序
text、ntext
image
數據類型
除非使用
IS
NULL
或
LIKE
運算符
應該
操作
欄位
text、ntext
image
數據類型
幾
類型
欄位
能用=
、!=進行比較
要用
IS
NULL、IS
NOT
NULL
或
LIKE
運算符
text、ntext
image
數據類型
欄位做部
替換修改
能直接update
欄位
B. sql怎麼批量替換欄位里的字元串的
方法一:
varchar和nvarchar類型是支持replace,所以如果你的text不超過8000可以先轉換成前面兩種類型再使用replace 替換 text ntext 數據類型欄位的語句 。
update表名set欄位名=replace(cast(與前面一樣的欄位名asvarchar(8000)),'原本內容','想要替換成什麼')
方法二:
update[表名]set欄位名=replace(與前面一樣的欄位名,'原本內容','想要替換成什麼')
C. 批量在SQL中替換關鍵字
update News
set content = replace(content,'A產品','B產品')
D. sql2005中,替換text類型欄位內一段字元串。求解
update 表 set 欄位1=replace(欄位1,'abc','efg') where 條件
就是 把 欄位1裡面 的abc 替換為 efg
E. sql 求替換修改刪除text類型欄位部分值2005
update
表名
set
欄位=replace(欄位名,要替換的值,替換後的值)
F. 如何替換SQL SERVER 中的 LONG TEXT 欄位內容
update 表名 set 欄位名=replace(cast(欄位名 as varchar(8000)),'某些字元','要換成的欄位')
前提是你的TEXT欄位里存的內容不要大於8000位元組。
G. SQL 替換 語句
update GOODS set GoodsNamestr=replace(GoodsNamestr,'商品名稱','寶貝名稱')
update GOODS set GoodsNamestr=replace(GoodsNamestr,'商品名稱','寶貝名稱') where ID=7
--------------------------
伺服器: 消息 306,級別 16,狀態 1,行 1
不能比較或排序 text、ntext 和 image 數據類型,除非使用 IS NULL 或 LIKE 運算符。
這個應該是因為你操作的欄位是text、ntext 和 image 數據類型
這幾個類型的欄位不能用= 、!=進行比較 ,要用 IS NULL、IS NOT NULL 或 LIKE 運算符
如果對text、ntext 和 image 數據類型的欄位做部分替換修改也不能直接update這個欄位
H. 如何批量執行sql查找替換
在Linux裡面,有一個比較好的工具sed,sed -i "s#A#B#g" filename,比如:sed -i "s#linux#windows#g" a.txt,這樣可以把a.txt文件中所有的linux替換成windows,「#」可以換成其他的字元,可以根據實際情況來定。如果替換的內容來自文件,可以用腳本遍歷文件的方式實現。例如:
舊地址文件:A.txt,需要處理的sql文件:mysql.sql,替換後的新內容:newtext
#/bin/bash
for line in `cat .A.txt`;
do
sed -i "s#$line#newtext#g" mysql.sql
done
當然,也可以指定替換行的范圍(例如50行到100行),具體的請參考linux下sed命令的用法
I. SQL用資料庫A中表1的數據替換資料庫B中表2的數據
在資料庫B中執行下面SQL語句
UPDATE 表2
SET text= [庫A].[表1].text FROM [庫A].[表1], 表2
WHERE [庫A].[表1].id = 表2.id
希望對你有幫助
J. SQL語句replace替換問題
在使用iwms系統的過程中,我們會經常遇到數據內容的替換操作。在告訴大家如何替換數據內容之前,我建議大家先了解一下SQL
Server資料庫的數據存儲類型:
SQL
Server數據類型:
以上是資料庫的基礎知識,是做網站的朋友都應該知道的內容(無論你使用什麼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]),'老字元串','新字元串')
二是SQL
Server存儲過程
declare
@ptr
varbinary(16)
declare
@artId
int
declare
@Position
int,@len
int
set
@len
=
datalength('老字元串')
declare
wux_Cursor
scroll
Cursor
for
select
textptr([欄位名]),[key欄位名]
from
[數據表名]
for
read
only
open
wux_Cursor
fetch
next
from
wux_Cursor
into
@ptr,@artId
while
@@fetch_status=0
begin
select
@Position=patindex('%老字元串%',[欄位名])
from
[數據表名]
where
[key欄位名]=@artId
while
@Position>0
begin
set
@Position=@Position-1