Oracle—日常使用随笔

目录

1.获取当前系统时间

2.Oracle中union与union all

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

相关推荐