当前位置:  技术问答>编程语言 iis7站长之家

关于sql语句,请特别关注

    来源: 互联网  发布时间:2017-04-28

    本文导语:  我有一个表的一项date单元,为String类型,2002-02-01 23:02:06的样式,在做组合查询时,只需要2002-02-01的部分就可以了,如何写这个SQL语句?? 另外,因为要做组合查询,有许多选项,当全部不选时,我就默认为查询整...

我有一个表的一项date单元,为String类型,2002-02-01 23:02:06的样式,在做组合查询时,只需要2002-02-01的部分就可以了,如何写这个SQL语句??

另外,因为要做组合查询,有许多选项,当全部不选时,我就默认为查询整个数据库,当有某个不选时,我就默认为该项条件是选择全部。请问如何写该SQL??

数据库是ACCESS的,用jsp语言。

|
组和查询,以name和date为例,都不填就是查全部
String name = request.getParameter("name");
String datestr = request.getParameter("date");

String nameSQL="";
String dateSQL="";

if(name==null || name.equals("")) {
  nameSQL = "";
} else {
  nameSQL = " and name='" + name + "'";
}

if(datestr==null || datestr.equals("")) {
  dateSQL = "";
} else {
  dateSQL = " and substr(date,1,10)='" + datestr + "'";
}

sql = new StringBuffer();
sql.append("select * from table where 有效='1'");
sql.append(nameSQL);
sql.append(dateSQL);

ResultSet rs = database.executeQuery(new String(sql)) ;

|
组合查询
(1)动态拼sql 如:
String sql="select * from table ";
if(某个条件选种)
  sql=sql+"where id='"+a+"'";
(2)模糊查询
if(查询条件==null)
 查询条件="%";
else
  查询条件="%"+查询条件+"%";

where=字段 like 查询条件 or 字段 is null

|
组合查询,都不填就是查全部。 hazeline(砸死我) 的说法有些地方我不是很明白,where 有效='1'这一句如何理解,我还是不大明白。
----------------------------------------------------------------
就是说你有若干个条件,你其实是有一个条件就在where后边加一个and contion。那么如果一个条件都没有呢?where 语句后边不就是空了吗?这样语法就不正确了,所以加一个始终成立的条件以便查询所有的数据,你可以写成where 1 = 1。如果你学过其他语言如C++之类就知道有一种循环就是while(1==1) {}。

|
String IP1=(String) request.getAttribute("IP1");
String Type=(String) request.getAttribute("Type");
String sdate=(String) request.getAttribute("sdate");
String edate=(String) request.getAttribute("edate");

String sql= "select * from main where 1==1  "

if(IP1!=null){
    sql=sql+"and Client_Ip='"+ IP1 +"' ";
}
if(Type!=null){
    sql=sql+ "and Protocol_Type='"+ Type +"' ";
}
if(sdate!=null){
    sql=sql+"and left(date,10)='"+ sdate +"' ";
}

if(edate!=null){
    sql=sql+"and left(date,10)='"+ edate +"' ";
}
看看这条SQl语句是不是你想要的。

|
如果是日期范围则后两项
if(sdate!=null){
    sql=sql+"and left(date,10)>='"+ sdate +"' ";
}

if(edate!=null){
    sql=sql+"and left(date,10)

    
 
 

您可能感兴趣的文章:

  • mysql中查询当前正在运行的SQL语句并找出mysql中运行慢的sql语句
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • Mysql增加主键或者更改表的列为主键的sql语句
  • sql语句实例 取得日志条目的sql语句
  • Mysql下在某一列后即表的某一位置添加新列的sql语句
  • SQL Server统计SQL语句执行时间的脚本
  • sql语句实例 统计页面链接的sql语句
  • 如何实现连接一次数据库,提交多个sql语句。(sql的批处理)
  • 一条SQL语句搞定Sql2000 分页
  • C#中验证sql语句是否正确(不执行语句)
  • SQL Server数据库的修复SQL语句
  • SQL 语句拦截 P6SPY
  • C#使用带like的sql语句时防sql注入的方法
  • t-sql/mssql用命令行导入数据脚本的SQL语句示例
  • 在SQL Server的try...catch语句中获取错误消息代码的的语句
  • sql2005创建远程登录帐户的sql语句分享
  • SQL SERVER 查询正在实行的SQL语句
  • SQL语句中含有乘号报错的处理办法
  • sql无效字符引起的执行sql语句报错的解决方法
  • C#代码验证sql语句是否正确(只验证不执行sql)的方法
  • SQL Server中选出指定范围行的SQL语句代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • SQL客户端管理工具 SQuirreL SQL Client
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍
  • 如何处理此错误:java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]没有执行可选特性
  • java命名空间java.sql接口rowid的类成员方法: tostring定义及介绍
  • sql2005 大数据量检索分页的sql代码
  • java命名空间javax.sql.rowset接口joinrowset的类成员方法: getwhereclause定义及介绍
  • 微软网站下载的Ms SQL Server2000 JDBC Driver,必须用英文版的SQL server2000吗?
  • java命名空间java.sql接口statement的类成员方法: execute定义及介绍
  • 安装SQL2008时提示删除SQL2005Express工具的解决方法
  • java命名空间java.sql接口resultset的类成员方法: getcursorname定义及介绍
  • 创建 sql server 链接服务器的sql代码
  • java命名空间java.sql接口resultsetmetadata的类成员方法: getcolumntype定义及介绍
  • import Java.sql.*; 报错包 Java.sql 不存在?请帮帮我!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3