sqlserver replace函数 批量替换数据库中指定字段内指定字符串参考方法
程序员文章站
2023-12-09 16:21:51
语法 replace ( 'string_expression1' , 'string_expression2' , 'string_expr...
语法
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
%>
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
%>