oracle 日期比较,选取日期区间,怎么实现?

表中有个use_date字段(格式:YYYY-MM-DD),通过用户选择日期的区间(格式:MM-YY)(如:起始日期:01-11,终止日期:01-12),然后从数据库中提... 表中有个use_date字段(格式:YYYY-MM-DD),通过用户选择日期的区间(格式:MM-YY)(如:起始日期:01-11,终止日期:01-12),然后从数据库中提取出01-11~01-12的所有数据
不好意思,可能我没说清楚,起始日期:tmp_period1,截止日期tmp_period2
展开
 我来答
badkano
2015-12-25 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885371
团长

向TA提问 私信TA
展开全部

需要用到to_char函数。

如emp表中有如下数据:

现要取出hiredate为1981年1月1日到1981年5月1日之间的数据,可用如下语句:

select * from emp where to_char(hiredate,'yyyy-mm-dd') between '1981-01-01' and '1981-05-01';

查询结果:

woaigigi66
2012-02-02 · TA获得超过176个赞
知道答主
回答量:75
采纳率:100%
帮助的人:46万
展开全部
如果use_date是date类型的话,如下
select * from tab_name where use_date between to_date('01-11','mm-yy')
and last_day(to_date('01-12','mm-yy'));
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ls2675
2012-02-02
知道答主
回答量:20
采纳率:0%
帮助的人:4.8万
展开全部
SELECT * FROM 表的名称 WHERE TO_CHAR(use_date,'MM-YY')>= '01-11' AND TO_CHAR(use_date,'MM-YY') <= '01-12' ;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
魂独孤羽
2012-02-02 · TA获得超过322个赞
知道小有建树答主
回答量:328
采纳率:58%
帮助的人:80.2万
展开全部
select * from 表名
where to_char(usr_date,'mm-yy') >= '01-11'
and to_char(usr_date,'mm-yy') <= '01-12'

试试看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ozay
2012-02-02 · TA获得超过120个赞
知道答主
回答量:78
采纳率:0%
帮助的人:43.7万
展开全部
日期比较可以直接用符号>、<、=比较
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式