sqlserver replace函數 批量替換資料庫中指定欄位內指定字串參考方法
來源:互聯網
上載者:User
文法
REPLACE ( 'string_expression1' , 'string_expression2' , 'string_expression3' )
參數說明
'string_expression1'
待搜尋的字串運算式。string_expression1 可以是字元資料或位元據。
'string_expression2'
待尋找的字串運算式。string_expression2 可以是字元資料或位元據。
'string_expression3'
替換用的字串運算式。string_expression3 可以是字元資料或位元據。
通俗理解即格式為:
Update 表名 SET 要替換的列=REPLACE(要替換的列,被替換的字元,替換後的字元)
樣本SQL語句:
Update tableName SET columeName = REPLACE(columeName, 'a', 'b')
但是值得注意的一點是,SQL Server有 replace函數,可以直接使用;Access資料庫的replace函數只能在Access環境下用,不能用在Jet SQL中,所以對ASP沒用,在ASP中調用該函數會提示錯誤:運算式中 'REPLACE' 函數未定義。在Asp中可以寫一個函數實現該功能。
樣本函數:
複製代碼 代碼如下:
function replace(title)
{
replace(title,'aaa','bbbb')
return(title)
}
bbb=replace(title)
update ..... set title='"&bbb&"'
ASP+access批量替換指定字元參考代碼:
複製代碼 代碼如下:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("資料庫名.mdb")
Set rs = Server.Createobject("ADODB.Recordset")
sql="Select * from [表名]"
rs.open sql,conn,1,3
while not rs.eof
rs("欄位名")=replace(rs("欄位名"),"被替換的字元","替換為的字元")
rs.update
rs.movenext
wend
rs.close
set rs=nothing
conn.close
set conn=nothing
%>