sql语言的问题:datediff函数在access数据库的使用

搜索了半天看了很多帖子还是没看懂用法,直接问吧比如我的access数据库是这样的:表名:实验序号日期12010-1-122010-2-132010-3-142010-4-... 搜索了半天看了很多帖子还是没看懂用法,直接问吧
比如我的access数据库是这样的:
表名:实验
序号 日期
1 2010-1-1
2 2010-2-1
3 2010-3-1
4 2010-4-1

现在我想选出2010-3-15以前,且最接近的数据序号,命令该咋写
谢谢大家给我的思路。第一次才知道有top1这个语句。
不过大家都忽略一个问题,就是acsess下,日期是要用##包围的,不是''啦,之前这个问题也卡了我好久。
5楼的语句我也知道意思了。但好像后半句的all()那有问题,反正我没试出来。
我现在用下面两个语句实现了自己的目的,列在这里希望能帮到后来人。
select top 1 序号 from 实验 Where 日期<#2010-3-15# Order by 日期 Desc;
select top 1 序号 from 实验 Where datediff('d',#2010-3-15#,日期)<0;

其实提问前我想的是用一个MIN函数去套datediff函数,这会再看看,好像MIN不能这么用?谁能告诉我这个就好了。
展开
 我来答
nnigou
2010-06-01 · TA获得超过983个赞
知道小有建树答主
回答量:1580
采纳率:0%
帮助的人:1549万
展开全部
如果数据库里面本身就是日期类型你没有必要使用datediff,直接大于小于就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
骑梼杌的小哪吒
2010-06-01 · TA获得超过625个赞
知道小有建树答主
回答量:385
采纳率:100%
帮助的人:156万
展开全部
select 日期 from 实验 group by 日期 having ABS(datediff(’day‘,日期,'2010-3-15')) - 1 < all(select ABS(datediff(’day‘,日期,'2010-3-15')) from 实验)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Air1270613071
2010-06-01
知道答主
回答量:32
采纳率:0%
帮助的人:0
展开全部
Select * From 实验 Where DateDiff(d,'日期','2010-3-15')>0 Order By 日期 Desc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
日拱一卒行则将至
2010-06-01 · TA获得超过508个赞
知道小有建树答主
回答量:707
采纳率:0%
帮助的人:314万
展开全部
Select * From 实验 Where DateDiff(d,'2010-3-15','日期')<0 Order By 日期
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hacker8848
2010-06-01 · TA获得超过169个赞
知道答主
回答量:316
采纳率:100%
帮助的人:175万
展开全部
Select top 1 序号
From table
Where 日期<'#2010-3-15#'
Order by 日期 Desc
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式