我在SQL Server数据库中建立了一张表,某个字段我想设为日期型,于是我用datetime数据类型
我用java操纵SQL语言,对数据库进行查询,在SQL语句中我加入了时间限制。
大家帮我看看我的SQL语句写的有问题没 ?
sql= "SELECT * FROM testbook WHERE 出版时间 >= #" + date1 + "# and 出版时间<= #" + date2 + "#";
我在另一个页面传来的时间参数格式为(也即date1、date2的格式):2000/1/1,我写成这样也有错2000-1-1

解决方案 »

  1.   

    sql= "SELECT * FROM testbook WHERE 出版时间>='"+date1+"' and 出版时间<='"+date2+"'";
      

  2.   

    先谢谢libin_ftsafe(子陌红尘)
    还是查不出结果啊?怎么回事呢?
      

  3.   

    一楼的SQL没问题啊,LZ是不是其它地方的问题
      

  4.   

    非常抱歉,是我的错,非常感谢libin_ftsafe(子陌红尘),也感谢dulei115() 
      

  5.   

    try
    sql= "SELECT * FROM testbook WHERE DateDiff(dd,'"+date1+"',出版时间)>=0 and DateDiff(dd,'"+date2+"',出版时间)<=0";
      

  6.   

    --这样行吗?
    sql= "SELECT * FROM testbook WHERE replace(convert(varchar(10),出版时间,111),'/0','/')>='"+date1+"' and replace(convert(varchar(10),出版时间,111),'/0','/')<='"+date2+"'";
      

  7.   

    sql= "SELECT * FROM testbook WHERE CONVERT(char(10), 出版时间, 120)>='"+date1+"' and CONVERT(char(10), 出版时间, 120)<='"+date2+"'";