注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

伯纳乌の夢

可以挽回么?我们按“ Ctrl+Z”撤销掉吧。对不起啦~~

 
 
 

日志

 
 
 
 

SQL语句中 WHERE 1=1  

2009-12-16 22:15:54|  分类: Oracle/SQLServer |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
    如果一条SQL语句中,包含WHERE 1=1 的条件,则条件永远为真,返回所有记录。
即 SELECT * FROM EMP WHERE 1=1 AND EMPNO='000001' ;
与 SELECT * FROM EMP WHERE EMPNO='000001' ; 等效。
  
    但如果编写程序时需要根据条件动态产生 SQL 语句,如:
String sql="SELECT * FROM EMP WHERE1=1 ";
if(username!=null) sql=sql+ " AND NAME='"+username+"'";
if(password!=null) sql=sql+ " AND PWD='"+password+"'";
则当username、password都为空时,该 SQL 语句执行起来并不会报错。
username、password 不为空时,SQL 语句亦可执行。
这样一来,添加WHERE 1=1 有便于动态连接后续条件。

    如果只需要查看表的栏位,则可以使用WHERE 1=2 的条件。
SELECT * FROM EMP WHERE 1=2;
   

  评论这张
 
阅读(332)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018