首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

为什么替换后是这种结果?该如何处理

2012-01-05 
为什么替换后是这种结果?declare@src_sqlvarchar(10)set@src_sqlcccyyyy%_mm%aaaset@src_sqlreplace(rep

为什么替换后是这种结果?
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

热点排行