1、查询确定年月的数据,使用to_date或to_char都可以实现
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比樟树网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式樟树网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖樟树地区。费用合理售后完善,十多年实体公司更值得信赖。
SELECT * FROM 表名
WHERE TO_CHAR(日期列,'YYYY-MM') = TO_CHAR('2013-06','YYYY-MM') 或者
SELECT * FROM 表名
WHERE 日期列 = TO_Date('2013-06','YYYY-MM')
2、查询前一个月
select concat(to_char(sysdate,'yyyy')||to_char(add_months(sysdate,-1), '-MM-'),'01 00:00:00')start_time,
concat(to_char(sysdate,'yyyy')||to_char(add_months(sysdate,-1), '-MM-')||to_char(LAST_DAY(sysdate),'dd '),'23:59:59') end_time from dual
3、查询前一天
select to_char(sysdate-1,'yyyy-mm-dd ')||'00:00:00' start_time,to_char(sysdate-1,'yyyy-mm-dd ')||'23:59:59' end_time from dual
excel自带的简单/完美的公式:
假设小日期在a1,大日期在a2,用公式
=datedif(a1,a2,"y")"年"datedif(a1,a2,"ym")"月"datedif(a1,a2,"md")"天"
就可以了。
select to_char(last_day(sysdate),'dd') from dual
也可以将sysdate替换为任意时间,以计算当天所在月份天数。
oracle获得上个月的月份:
select to_char(add_months(trunc(sysdate),-1),'yyyymm') from dual;
oracle获得下个月的月份:
select to_char(add_months(trunc(sysdate),1),'yyyymm') from dual;
oracle获得上个月的第一天日期:
select data_dt ,ADD_MONTHS(TRUNC( to_date(data_dt, 'YYYY-MM-DD'),'MM' ),-1) from a_web_visit_origin;
oracle获得上个月的第一天日期(符合当地的日期格式):
select data_dt ,TO_CHAR (ADD_MONTHS(TRUNC( to_date(data_dt, 'YYYY-MM-DD'),'MM' ),-1),'YYYY-MM-DD') from a_web_visit_origin;
oracle获得上个月当天日期:
select data_dt ,TO_CHAR (ADD_MONTHS(TRUNC( to_date(data_dt, 'YYYY-MM-DD') ),-1),'YYYY-MM-DD') from a_web_visit_origin;
select data_dt ,ADD_MONTHS(TRUNC( to_date(data_dt, 'YYYY-MM-DD'),'MM' ),-1) from a_web_visit_origin;
oracle获得上个月的第一天日期(符合当地的日期格式):
select data_dt ,TO_CHAR (ADD_MONTHS(TRUNC( to_date(data_dt, 'YYYY-MM-DD'),'MM' ),-1),'YYYY-MM-DD') from a_web_visit_origin;
oracle获得上个月当天日期:
select data_dt ,TO_CHAR (ADD_MONTHS(TRUNC( to_date(data_dt, 'YYYY-MM-DD') ),-1),'YYYY-MM-DD') from a_web_visit_origin;
扩展资料:
日期和字符转换函数用法(to_date,to_char):
日期转化为字符串:select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual;
获取时间的年: select to_char(sysdate,'yyyy') as nowYear from dual;
获取时间的月: select to_char(sysdate,'mm') as nowMonth from dual;
获取时间的日:select to_char(sysdate,'dd') as nowDay from dual;
获取时间的时:select to_char(sysdate,'hh24') as nowHour from dual;
获取时间的分:select to_char(sysdate,'mi') as nowMinute from dual;
获取时间的秒:select to_char(sysdate,'ss') as nowSecond from dual;
select month_no,avg(value) vag_value,max(value) max_value,min(value) min_value from table_name where substr(month_no,1,4)='{year}' group by month_no
{year}是年参数,month_no是月份参数,varchar2型,如果是时间类型,比如load_timeselect to_char(load_time,'yyyymm') month_no,avg(value) vag_value,max(value) max_value,min(value) min_value from table_name where to_char(load_time,'yyyy') ='{year}' group by to_char(load_time,'yyyymm')