我在SQL Server数据库中建立了一张表,某个字段我想设为日期型,于是我用datetime数据类型
我用java操纵SQL语言,对数据库进行查询,在SQL语句中我加入了时间限制。
大家帮我看看我的SQL语句写的有问题没 ?
sql= "SELECT * FROM testbook WHERE 出版时间 >= #" + date1 + "# and 出版时间<= #" + date2 + "#";
我在另一个页面传来的时间参数格式为(也即date1、date2的格式):2000/1/1,我写成这样也有错2000-1-1
我用java操纵SQL语言,对数据库进行查询,在SQL语句中我加入了时间限制。
大家帮我看看我的SQL语句写的有问题没 ?
sql= "SELECT * FROM testbook WHERE 出版时间 >= #" + date1 + "# and 出版时间<= #" + date2 + "#";
我在另一个页面传来的时间参数格式为(也即date1、date2的格式):2000/1/1,我写成这样也有错2000-1-1
看你语句的意思是查询一端时间内的信息(这个SQL语句好象有点问题)
如果是的话我有个解决办法:
将 出版时间 的数据类型设成int 将时间当int输入 例如2000/1/1,写成20000101
int date1,date2
然后用 SELECT * FROM testbook WHERE 出版时间 >= date1 and 出版时间 <= date2
把sql= "SELECT * FROM testbook WHERE 出版时间 >= #" + date1 + "# 出版时间 >= #" + date2 + "#";
改成:
sql= "SELECT * FROM testbook WHERE 出版时间 >= '" + date1 + "' 出版时间 >= '" + date2 + "'";
为什么不用SQL最经典的between?
sql= "SELECT * FROM testbook WHERE 出版时间 between '" + date1 + "' and '" + date2 + "'";