日期:2014-05-17  浏览次数:20547 次

数据的模糊查询
在winfrom中加入了一个有特定查询.其实无非就是select的查询.现在要求一个模糊查询.比如:查询  原料  =  钢材  而这时所要查询的不只是钢材而已  如:钢材45#  钢圆型材30+3  塑化钢材12.2+1  强化炭钢3#材 ...... 这时怎么写select语句啊?还有好多情况.请大家展开丰富的想像力.也请大家很给力的告诉我.这里我谢谢大家了.
------最佳解决方案--------------------

exec('select * from tb where 原料 in (' + @str + ')')

------其他解决方案--------------------
select * from tablename where 原料 like '%钢材%'

------其他解决方案--------------------
 

create table tb(name nvarchar(30))
insert into tb 
select N'钢材45#' union select N'钢圆型材30+3'
union  select N'fg' union select N'木材'
union select N'钢铁'

select * from tb where PATINDEX(N'%[钢材]%',name)>0

/*
name
------------------------------
钢材45#
钢铁
钢圆型材30+3
木材

(4 行受影响)

------其他解决方案--------------------
不下班等大家,谢谢.UP
------其他解决方案--------------------
谢谢,大家
------其他解决方案--------------------
select * from tb where charindex('钢材',原料)>0

------其他解决方案--------------------
6楼的太好了.可惜,你回晚了.分给不了你了.下次给你吧
------其他解决方案--------------------
3楼,你的语法有错.我弄了N久,一直出错