数据库查找2个日期之间的数据怎么写代码?

日期格式是YY-MM-DD我用BETWEEN,但是只能比一个月份的,跨年数据就不对了,请问怎么回事?日期是从另一个页面request过来直接用的,是一个文本框里面的,用d... 日期格式是YY-MM-DD
我用BETWEEN,但是只能比一个月份的,跨年数据就不对了,请问怎么回事?
日期是从另一个页面request过来直接用的,是一个文本框里面的,用date()函数直接获取的数据
数据库用的ACCESS
代码如下:
sql = "select * from guo where 时间 between #"+begintime+"#"+" and "+" #"+endtime+"#"+" order by 时间 ASC"
展开
 我来答
flyingFish211
2011-03-31 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
取决于不同的数据库以及日期的类型,你的日期类型时日期型还是字符串?

ACCESS比较麻烦的呢。先把时间分解为yyyymmdd然后比较就可以了

sql = "select * from guo where
DatePart('yyyy', date(时间)) +
DatePart('mm', date(时间)) +
DatePart('dd', date(时间))

between #"+DatePart('yyyy', date(begintime)) +
DatePart('mm', date(begintime)) +
DatePart('dd', date(begintime)) +"#"+" and "+" #"+DatePart('yyyy', date(endtime)) +
DatePart('mm', date(endtime)) +
DatePart('dd', date(endtime)) +"#"+" order by 时间 ASC"
追问
这个执行报错。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-03-31
展开全部
你想复杂了。
如下:
select * from table where 时间列名>='2010-12-12 00:00:00' and 时间列名<='2011-03-31 23:59:59'
时间格式要与时间字段里的时间格式一样
追问
ACCESS的日期用的文本格式,必须要日期格式才行吧?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hit_lubin
2011-03-31 · TA获得超过7889个赞
知道大有可为答主
回答量:1554
采纳率:100%
帮助的人:2013万
展开全部
就是BETWEEN AND,不过要小心小时分秒的问题。你如果跨年数据不对,那肯定还是你的语法有问题。另外,你也可是试试>= 和<=配合一起使用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xv_84
2011-03-31 · 超过53用户采纳过TA的回答
知道小有建树答主
回答量:135
采纳率:0%
帮助的人:82.4万
展开全部
sql写贴上来看看
追问
请帮我看看。
追答
你把参照的时间格式化成yy-MM-dd格式 应该就行了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式