Oracle / PLSQL写语句 常用的几个函数

下面开始记录一下,自己在Oracle或者PLSQL常用的几个函数,

1add_months 增加或减去月份
2. last_day(sysdate) 返回日期的最后一天
3. months_between (date2,date1) 给出date2-date1的月份
4. new_time (date,'this','that') 给出在this时区=other时区的日期和时间
5. next_day (date,'day') 给出日期date和星期x之后计算下一个星期的日期
6. sysdate 用来得到系统的当前日期
7. hextoraw 将一个十六进制构成的字符串转换为二进制
8. rawtohext 将一个二进制构成的字符串转换为十六进
9. rowidtochar 将ROWID数据类型转换为字符类型
10.avg(DISTINCT|ALL) all表示对所有的值求平均值,distinct只对不同的值求平均值
11.max(DISTINCT|ALL) 求最大值,DISTINCT表示对不同的值求最大值,相同的只取一次
12.min(DISTINCT|ALL) 求最小值,DISTINCT表示对不同的值求最小值,相同的只取一次
13. stddev (distinct|all) 求标准差,DISTINCT表示只对不同的值求标准差
14. variance (DISTINCT|ALL) 求协方差
15. group by主要用来对一组数进行统计
16. having 对分组统计再加限制条件
17.ORDER BY 用于对查询到的结果进行排序输出

1、NUMTODSINTERVAL( number, expression )
参数说明:
number:数字类型的值
expression:单位,这里的单位是固定的,有DAY,HOUR,MINUTE,SECOND
1
2
3
4
5
6
7
8
举例说明:
-- 当前日期加25
select sysdate, sysdate + numtodsinterval(25'day') as res from dual;
 
-- 当前日期加2小时,这里转换了下时间格式,更容易看出来,下图所示
select to_char(sysdate, 'yyyy-MM-dd hh24:mi:ss'), to_char(sysdate + numtodsinterval(2'hour'), 'yyyy-MM-dd hh24:mi:ss') as res from dual;
 
-- 当前日期加分钟,秒,可以依葫芦画瓢,尝试写一下

显示效果如下图所示:

 

与此同时,和他相同的函数是下面的函数

2、NUMTOYMINTERVAL( number, expression )
参数说明:
number:数字类型的值
expression:单位,这里的单位是固定的,有MONTH,YEAR
1
2
3
4
5
6
举例说明:
-- 当前日期加2
select sysdate, sysdate + numtoyminterval(2'month') as res from dual;
 
-- 当前日期加2
select sysdate, sysdate + numtoyminterval(2'year') as res from dual;

 显示效果如下图所示:

posted @ 2017-01-10 16:53  余先森  阅读(2350)  评论(0编辑  收藏  举报