SQL模糊查询
可以通过exec 查看存储过程的执行结果
问题:sql带参数模糊查询?
使用like
declare @name VARCHAR(50)
set @name ='王'
select * from people
where Name like @name+'%'
or
declare @name VARCHAR(50)
set @name ='王%'
select * from people
where Name like @name
成功解决
另模糊查询常用的几个字符:
-
% 表示零个或多个字符
可以匹配任意类型和任意长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。
select * from people where Name like '%王%';
就会把people这张表里面,Name列中含有“王”的记录全部查询出来。
-
_ 表示任意单个字符
匹配单个任意字符,它常用来限制表达式的字符长度
select * from people where Name like '李_';
将会把Name列中为 李% 的记录全部查询出来
-
[ ] 表示括号内所列字符中的一个(类似正则表达式)
select * from people where Name like '[张王李]飞';
将找出“张飞” “王飞” “李飞”,而不是”张王李“飞
-
^ 表示不在括号所列之内的单个字符
select * from people where Name like '[^张王李]飞';
将找出除张飞,王飞,李飞 外的记录