① sql語句replace替換問題
Replace("字元串","要被替代的字元串","替代後的字元串")
② SQL語句replace怎麼替換
Replace("字元串","要被替代的字元串","替代後的字元串")
1、sql
replace
into用法詳細說明REPLACE的運行與INSERT很相似。只有一點例外,假如表中的一個舊記錄與一個用於PRIMARYKEY或一個UNIQUE索引的新記錄具有相同的值,則在新記錄被插入之前,舊記錄被刪除。
2、注意,除非表有一個PRIMARY
KEY或UNIQUE索引,否則,使用一個REPLACE語句沒有意義。該語句會與INSERT相同,因為沒有索引被用於確定是否新行復制了其它的行。
3、所有列的值均取自在REPLACE語句中被指定的值。所有缺失的列被設置為各自的默認值,這和INSERT一樣。您不能從當前行中引用值,也不能在新行中使用值。如果您使用一個例如「SET
col_name
=
col_name
+
1」的賦值,則對位於右側的列名稱的引用會被作DEFAULT(col_name)處理。因此,該賦值相當於SET
col_name
=
DEFAULT(col_name)
+
1。為了能夠使用REPLACE,必須同時擁有表的INSERT和DELETE許可權。
③ 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
④ sql語句中的替換怎麼寫
樓主已經說了,單純的用replace()不行的,我這有個辦法,如果樓主這個欄位的形式比較固定,比如:
都是XXX-123456789-123就是相同的位都是"-",那麼可以這樣寫SQL語句:
update table_name set fields = substring(fields,1,4)+relace(substring(fields,5,len(fields)),'-','***')
這樣就可以只替換後面的"-"符號了。
⑤ 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這個欄位
⑥ 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
欄位
⑦ SQL替換語句
如果要把資料庫記錄改掉的話:
update 表 set 欄位='律師' where 欄位= '醫生'
如果只是想查詢的時候把記錄改掉而不改資料庫記錄的話:
select 新的欄位=case 欄位 when '醫生' then '律師' else 欄位名 end from 表
⑧ mysql 中有什麼關鍵字可以代替 sql語言中的
如果sql語句中存在關鍵字,可以用反勾號(Esc下面的那個鍵)做轉義;
` 是 MySQL 的轉義符,避免和 mysql 的本身的關鍵字沖突,只要你不在列名、表名中使用 mysql 的保留字或中文,就不需要轉義。
所有的資料庫都有類似的設置,不過mysql用的是`而已。通常用來說明其中的內容是資料庫名、表名、欄位名,不是關鍵字。例如:
select from from table;
第一個from是欄位名,最後的table表名,但是同時也是mysql關鍵字,這樣執行的時候就會報錯,所以應該使用
select `from` from `table`;
當然,為了便於閱讀,不建議使用關鍵字作為欄位名、表名,同時,應該對資料庫名、表名、欄位名用一對兒反引號包含。
⑨ SQL替換語句怎麼寫
--子查詢寫法
Updateaset欄位1=(select欄位2frombwherea.欄位3=b.欄位4)
--自連接寫法
Updateaset欄位1=b.欄位2frombwherea.欄位3=b.欄位4
案例如下:
--字查詢寫法
Updatecrm_account a seta.account_principal=(select b.field4 Fromcrm_mole_6 b where a.account_name=b.field1)
--自連接寫法
Updatecrm_account a seta.account_principal=b.field4 Fromcrm_mole_6 b where a.account_name=b.field1
如有問題可以追問,我當及時回答.
希望能幫到你!
⑩ mysql批量替換的SQL語句怎麼寫
替換語句使用UPDATE語句,例如:
UPDATE
表名
SET
欄位名=修改後的值
WHERE
條件
如果你還是不會寫語句,請告訴我你希望進行怎樣的替換,我幫你寫。