日期:2011-01-25 23:11:00 来源:本站整理
<b>巧用SQL中case when语句实现模糊查询</b>[MSSQL防范]
本文“<b>巧用SQL中case when语句实现模糊查询</b>[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
利用SQL中case when语句,可以实现我们需求的模糊查询,下面为您介绍SQL case when语句实现模糊查询的脚本,但愿对您学习SQL中case when语句的利用有所启迪.
我们在举行项目开辟中,常常会碰到多条件模糊查询的需求.对此,我们常见的办理筹划有两种:一是在程序端拼接SQL字符串,按照能否挑选了某个条件,构造呼应的SQL字符串;二是在数据库的存储历程中利用动态的SQL语句.其本质也是拼接SQL字符串,不过是从程序端转移到数据库端罢了.
这两种方法的缺陷是显而易见的:一是当多个条件每个都可为空时,要利用多个if语句举行判断;二是拼接的SQL语句简单产生SQL注入漏洞.
近来写数据库存储历程的时刻常常利用case when 语句,恰好可以用这个语句办理一下以上问题.以SQL中的NorthWind数据库为例,我要操作的是此中的Employees表,该表中默许数据以下:
利用以下脚本来查询表中数据:
<
- 1 DECLARE @FirstName NVARCHAR(10),
- 2 @LastName NVARCHAR(20);
- 3 SELECT @FirstName = '',
- 4 @LastName = '';
- 5 SELECT *
- 6 FROM Employees c
- 7 WHERE CHARINDEX(
- 8 (
- 9 CASE
- 10 WHEN @FirstName = '' THEN FirstName
- 11 ELSE @FirstName
- 12 END
- 13 ),
- 14 FirstName
- 15 ) > 0
- 16 AND CHARINDEX(
- 17 (CASE WHEN @LastName = '' THEN LastName ELSE @LastName END),
- 18 LastName
- 19 ) > 0
以上是“<b>巧用SQL中case when语句实现模糊查询</b>[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论