为什么替换后是这种结果?
declare @src_sql varchar(10)
set @src_sql = 'cccyyyy%_mm%aaa '
set @src_sql = replace(replace(@src_sql, 'mm% ', '07 '), 'yyyy% ', '2007 ')
print @src_sql
结果是
ccc2007_m
------解决方案--------------------因为 declare @src_sql varchar(10)
赋值时到第一个m后,后面的字串被略去了
------解决方案--------------------declare @src_sql varchar(20)
set @src_sql = 'cccyyyy%_mm%aaa '
set @src_sql = replace(replace(@src_sql, 'mm% ', '07 '), 'yyyy% ', '2007 ')
print @src_sql
--------
ccc2007_07aaa
------解决方案-------------------- 同意楼上.
declare @src_sql varchar(20)
set @src_sql = 'cccyyyy%_mm%aaa '
set @src_sql = replace(replace(@src_sql, 'mm% ', '07 '), 'yyyy% ', '2007 ')
print @src_sql
--------
ccc2007_07aaa