oracle中怎样获取当前月上个月的第一天和最后一天?

查询数据时有个列T是月数据,包括8,9,10月的数据, 现在是10月 。请教一下如何对T列做限制,只查询9月的数据?

第1个回答  推荐于2017-10-01
select trunc(add_months(sysdate,-1),'mm') first_day,last_day(add_months(sysdate,-1)) last_day from dual;
你的查询应该这样写:
select * from tabname where t between to_date('20130901','yyyymmdd') and to_date('20130930','yyyymmdd');
不建议在查询条件中写入变量,如
select * from tabname where t between trunc(add_months(sysdate,-1),'mm') and last_day(add_months(sysdate,-1));
这其中sysdate是个变化的量,不建议使用。本回答被提问者采纳

oracle中怎样获取当前月上个月的第一天和最后一天?
不建议在查询条件中写入变量,如 select * from tabname where t between trunc(add_months(sysdate,-1),'mm') and last_day(add_months(sysdate,-1));这其中sysdate是个变化的量,不建议使用。

如何获得Oracle当前日期的年或月的第一天和最后一天
第一天 select trunc(sysdate,'y') FROM DUAL;select trunc(sysdate,'yy') FROM DUAL;select trunc(sysdate,'yyy') FROM DUAL;select trunc(sysdate,'yyyy') FROM DUAL;最后一天 select last_day(add_months(trunc(SYSDATE,'y'),11)) from dual 2.当前日期的月份第一天和最后一天 select trunc...

Oracle获取当前日期前一个月的全部日期
第一步,我们需要确定当前月份的天数。在Oracle中,可以通过特定的SQL语句实现这一目标。使用TO_CHAR函数配合参数'last_day',可以获取当前日期所在的月份中的最后一天日期。进一步使用TO_NUMBER函数将得到的字符串转换为数字,即可得到当前月份的天数。SQL语句如下:select to_number(to_char(last_day(sysda...

如何获得Oracle当前日期的年或月的第一天和最后一天
年和月知道了,第一天显然就是1号了,最后一天根据闫年和月份判断:define isleap(y) ((y)%4 == 0 && (y)%100 != 0 || (y)%400 == 0)int year,month;scanf("%d,%d", &year, &month);switch(month){ case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf("31"...

oracle 函数中怎么求 上月末天
Select last_day(add_months(sysdate,-1)) from dual;得到上月最后一天 add_months(sysdate,-1) from dual;得到距当前时间一个月的时间(-1是上一个月,1是下一个月)Select last_day(sysdate) from dual;得到当前月的最后一天 不知道你是否明白了?

如何获得Oracle当前日期的年或月的第一天和最后一天
trunc函数可以截取日,月,年,甚至周的第一天 日期 -1可以获取前一天的日期 这种自己研究一次就会了,直接告诉你会遗忘的比较快

Oracle如何获取一个年月的第一天和最后一天?
这个就可以查出你web_date中指定某年某月第一天、最后一天的数据了:但如果你的字段year_month是date类型的,就这样写:select * from web_date a where a.year_month in (select to_date('201502'||'01','yyyymmdd') from dual union all(select to_date(to_char(last_day(to_date('201502...

oracle 求一个月的前三天和最后一天
1. 前三个工作日 通过trade_f字段 减去当月的首日,然后按照它们之间的差排序,最小的前3个就是前三个工作日。select to_date(to_char(日期字段,'yyyy\/mm\/dd'),'yyyy\/mm\/dd')-to_date('2010-05-01','yyyy\/mm\/dd') as trade_f from CLNDR where rownum <= 3 and trade_f = 1...

Oracle中给定某个月,如何查出这个月的每一天
以2018年6月为例:with t as(select rownum-1 rn from dual connect by rownum<=31)select trunc(to_date('2018-06-01','yyyy-mm-dd'))+rn from t where to_char(trunc(to_date('2018-06-01','yyyy-mm-dd'))+rn,'yyyy-mm-dd') like '2018-06%'别的月份的话,把语句里2018-...

oracle查询月份日数最大的日
想法:先安月分组,在安日期从大到小排序,最后把每月第一条取出。实例:SELECT FROM (SELECT INPUT_DATE,ACCOUNT_NO,--想显示的列 ROW_NUMBER() OVER(PARTITION BY SUBSTR(TO_CHAR(INPUT_DATE, 'yyyymm'), 1, 6) ORDER BY SUBSTR(TO_CHAR(INPUT_DATE, 'yyyymmdd'), 1, 8) DESC) AS ...

相似回答