目录
1.获取当前系统时间,并做些加减运算。
##获取当前系统时间 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; ##ORACLE里获取一个时间的年、季、月、周、日的函数 select to_char(sysdate, 'yyyy' ) from dual; ##年 select to_char(sysdate, 'MM' ) from dual; ##月 select to_char(sysdate, 'dd' ) from dual; ##日 select to_char(sysdate, 'Q') from dual; ##季 select to_char(sysdate, 'iw') from dual; ##周##按日历上的那种,每年有52或者53周
##当前时间减去7分钟的时间 select sysdate,sysdate - interval '7' MINUTE from dual; ##当前时间减去7小时的时间 select sysdate - interval '7' hour from dual; ##当前时间减去7天的时间 select sysdate - interval '7' day from dual; ##当前时间减去7月的时间 select sysdate,sysdate - interval '7' month from dual; ##当前时间减去7年的时间 select sysdate,sysdate - interval '7' year from dual; ##时间间隔乘以一个数字 select sysdate,sysdate - 8*interval '7' hour from dual;
## 年月 日 24制小时 分 秒 上/下午 星期中文; select to_char(sysdate,'yyyy-mm-dd:hh24:mi:ss:pm:dy') from dual; ##获取11月天数 select to_char(last_day(to_date('2010-11-1','YYYY-MM-DD')),'DD') from dual;
2.Oracle中union与union all
如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字。
union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。
- Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
- Union All:对两个结果集进行并集操作,包括重复行,不进行排序;
- Intersect:对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;
- Minus:对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。
##例子 select * from dual union all select * from dual