sqlserver replace函數 批量替換數據庫中指定字段內指定字符串參

SQL Server有 replace函數,可以直接使用;Access數據庫的replace函數只能在Access環境下用,不能用在Jet SQL中,所以對ASP沒用,在ASP中調用該函數會提示錯誤.

語法
REPLACE ( ‘string_e-xpression1’ , ‘string_e-xpression2’ , ‘string_e-xpression3’ )
參數說明
‘string_e-xpression1’
待搜索的字符串表達式。string_e-xpression1 可以是字符數據或二進制數據。
‘string_e-xpression2’
待查找的字符串表達式。string_e-xpression2 可以是字符數據或二進制數據。
‘string_e-xpression3’
替換用的字符串表達式。string_e-xpression3 可以是字符數據或二進制數據。

通俗理解即格式為:
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
%>

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享