日期:2014-05-17  浏览次数:20786 次

按照时间如何查询记录 ?
有一个图书表
id(自动)   ,bookName(varchar(100)),publishDate(出版日期,datatime)

求:
1:查询   某年某月某日   出版的书籍  

2:删除   自某年某月某日   以前   出版的书籍

3:查询   一定时间前(比如是3个月前,三个月零10天)   的出版的书籍

------解决方案--------------------
有一个图书表
id(自动) ,bookName(varchar(100)),publishDate(出版日期,datatime)

求:
1:查询 某年某月某日 出版的书籍
SELECT * FROM 图书表 WHERE datediff(d,publishDate,@dt)=0

2:删除 自某年某月某日 以前 出版的书籍
DELETE FROM 图书表 WHERE publishDate <@dt

3:查询 一定时间前(比如是3个月前,三个月零10天) 的出版的书籍
SELECT * FROM 图书表 WHERE publishDate <getdate()-100
------解决方案--------------------
YourDate 为你传过来的日期变量

1、Sql = " select * From Table where publishDate = ' "+YourDate+ " ' "

2、Sql = "Delete Table where publishDate < ' "+YourDate+ " ' "

3、Sql = "Select * From Table where publishDate < ' "+YourDate+ " ' "

楼主要加油了哦
------解决方案--------------------
大家给你都是一个基本的思路而已,具体细节你自己去搞清楚和完善哦
楼主要加油了哦
------解决方案--------------------
3:查询 一定时间前(比如是3个月前,三个月零10天) 的出版的书籍
SELECT * FROM 图书表 WHERE publishDate <getdate()-100

这里有问题..

publishDate是个年月日都有的日期.怎么能直接-100天数呢?

不过思路正确.楼主自己研究研究.