[其他解释] 中间插个%不就行咯,干嘛要用_ [其他解释] select * from 表 where repalce(字段,'?','')=查询值 [其他解释] create table #t ([id][int] identity(1,1) not null, [col][varchar][10] not null, constraint (tPK) priamry key clustered ) insert into #t (select 1,abc?def union all select 2,bcef??g union all select 3,a??efg ) from #t update #t set col=replace(col,'?','') where col='abc?def' go update #t set col=replace(col,'bcef??g''aabefg') where col='bcef??g' go [其他解释] select * from 表 where @str like '%'+replace(col1,'?','_')+'%' [其他解释] 这样写 只有给定字符串和 数据库中字符串 长度一致的时候才行啊 [其他解释] 我开始的想法中 ? 表示任何单个字符 ,只要这一段 能匹配 就算满足条件 [其他解释] 中间匹配的数目是固定的 %号 我试 了下 ,不成功