create table #TableTemp (ColTemp varchar(80))
insert #TableTemp values('123456789ABCDEFGHIGK')
declare @TempValue varchar(80)
declare @sql varchar(8000)set @TempValue='1234,0000,ADCF'
select @sql=replace(@TempValue,',','%'' union select * from #TableTemp where ColTemp like ''%')
exec('select * from #TableTemp where ColTemp like ''%'+ @sql+'%''')set @TempValue='ABCD,8888,9999'
select @sql=replace(@TempValue,',','%'' union select * from #TableTemp where ColTemp like ''%')
exec('select * from #TableTemp where ColTemp like ''%'+ @sql+'%''')set @TempValue='7777,HIGK,ASDF'
select @sql=replace(@TempValue,',','%'' union select * from #TableTemp where ColTemp like ''%')
exec('select * from #TableTemp where ColTemp like ''%'+ @sql+'%''')--结果
ColTemp
--------------------------------------------------------------------------------
123456789ABCDEFGHIGKColTemp
--------------------------------------------------------------------------------
123456789ABCDEFGHIGKColTemp
--------------------------------------------------------------------------------
123456789ABCDEFGHIGK
insert #TableTemp values('123456789ABCDEFGHIGK')
declare @TempValue varchar(80)
declare @sql varchar(8000)set @TempValue='1234,0000,ADCF'
select @sql=replace(@TempValue,',','%'' union select * from #TableTemp where ColTemp like ''%')
exec('select * from #TableTemp where ColTemp like ''%'+ @sql+'%''')set @TempValue='ABCD,8888,9999'
select @sql=replace(@TempValue,',','%'' union select * from #TableTemp where ColTemp like ''%')
exec('select * from #TableTemp where ColTemp like ''%'+ @sql+'%''')set @TempValue='7777,HIGK,ASDF'
select @sql=replace(@TempValue,',','%'' union select * from #TableTemp where ColTemp like ''%')
exec('select * from #TableTemp where ColTemp like ''%'+ @sql+'%''')--结果
ColTemp
--------------------------------------------------------------------------------
123456789ABCDEFGHIGKColTemp
--------------------------------------------------------------------------------
123456789ABCDEFGHIGKColTemp
--------------------------------------------------------------------------------
123456789ABCDEFGHIGK
解决方案 »
- 邹建大哥,请问sql server数据库恢复问题!
- MSSQL如何向nvarchar字段传入变量
- .net调用存储过程的返回值的问题
- 50分求教SQL
- 镜像数据库自动故障转移问题
- 求助:sqlserver2005 一般性网络错误。请检查网络文档
- 用脚本建数据库的问题和访问数据库慢的问题。
- 非常非常非常非常非常急的一个sql语句问题
- 请问如何将一个数据库中的表的内容导入到另一个数据库的表中(可选择的)急!
- 难题求解,马上结贴,不够再加!
- 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。(急)
- c++中使用sql语句创建excel文件并导入数据的问题
union all方式可以实现,估计效果不太好,
不知道有没有更好的方式.
set @TempValue='1234,0000,ADCF'
set @TempValue='select col='''+replace(@TempValue,',',''' union all select ''')+''''
declare @str varchar(8000)
set @str='select coltemp from tabletemp a inner join ('+@TempValue+') b on charindex(col,coltemp)>0'
exec(@str)
set @TempValue='1234,0000,ADCF'
set @TempValue='select col='''+replace(@TempValue,',',''' union all select ''')+''''
declare @str varchar(8000)
set @str='select coltemp from tabletemp a where exists (select 1 from ('+@TempValue+') b where charindex(col,a.coltemp)>0)'
exec(@str)
coltemp
------------------------------
123456789ABCDEFGHIGK(1 行受影响)