论坛首页 入门技术论坛

SQL语句中的 where 1=1啥意思

浏览 3039 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-01-13  


在组合查询条件时候多用:

String sql="select * from user where 1=1 ";

if(username!=null) sql=sql+ " and username='"+username+"'";

if(password!=null) sql=sql+ " and password='"+password+"'";

这样方便很多,及时username,password两者都为空都可以查询

   发表时间:2009-01-14  
主要是为了拼sql
0 请登录后投票
   发表时间:2009-01-14  
power_zl 写道
主要是为了拼sql

恩,同意楼上,我做一下补充。
开发项目的时候,很多时候需要品SQL 语句的。
因为调用JDBC MODEL 的时候 通常定义那样的格式SQL。
比如
String strSelect, strFrom, strWhere, strOrder;
strSelect = "work_no, file_no, filesize, file_name, userid";
strFrom = "WORK_FILE";
strWhere  = "1=1";
strOrder = "work_no";

String sql = "select "+strSelect+"\n" +
    "from "+strFrom+"\n" +
    "where "+strWhere+"\n" +
    "order by "+strOrder;
这里的sql是公用的 其他类调用它的时候 strWhere是空的话,会出错!
所以好多做法是 1=1 表达式来,拼出一个,条件是永久相等的,sql语句。
1 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics