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不能这么用?谁能告诉我这个就好了。 展开
比如我的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不能这么用?谁能告诉我这个就好了。 展开
5个回答
展开全部
如果数据库里面本身就是日期类型你没有必要使用datediff,直接大于小于就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select 日期 from 实验 group by 日期 having ABS(datediff(’day‘,日期,'2010-3-15')) - 1 < all(select ABS(datediff(’day‘,日期,'2010-3-15')) from 实验)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Select * From 实验 Where DateDiff(d,'日期','2010-3-15')>0 Order By 日期 Desc
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Select * From 实验 Where DateDiff(d,'2010-3-15','日期')<0 Order By 日期
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Select top 1 序号
From table
Where 日期<'#2010-3-15#'
Order by 日期 Desc
From table
Where 日期<'#2010-3-15#'
Order by 日期 Desc
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询