oracle 常用函数

1.字符串函数

     lower(char) 将整个字符串转换为小写

     示例:select lower('DALiA') from dual; =>dalia

     replace(char ,str1,str2)  将char中出现的每个str1替换成str2

     示例:select replace('Scott','S','Boy') from dual;=>boycott

     substr(char ,m ,n) 从char中第m 个字符开始去n个字符

     示例: select substr('ABCDEF',4,2) from dual; =>DE

     length(char) 返回char 的长度

     示例:select length('Marissa') from dual; =>7

     rpad(expr1,n,expr2) 在expr1右边补充n个expr2

     示例:select rpad('Amanda',10,'0') from dual; =>Amanda0000

     initcap(char) 将char 中每个单元的第一个字符该为大写

     示例:select initcap('shane k') from dual; => Shane K

2.数字函数

    ceil(n) 返回大于或等于n的最近整数

    示例:select cell(12.3) from dual; =>13

    floor(n) 返回小于或等于n的最近的整数

    示例:select floor(127.6) from dual; =>127

    round(n,m) 将 n四舍五入 保留小数点后m位

    示例:select round(579.34886,3) from dual; => 579.349

    power(m,n) m的n次幂

    示例:select power(5,3) from dual; =>125

    mod(m,n) 返回m除以n后的余数 如果=0 返回0 如果n>m 返回m

    示例:select mode(9,5) from dual; =>4

           select mode(10,5) from dual; =>0

           select mode(6,7) from dual; =>6

    sqrt(n) 返回n 的平方根

    示例:select sprt(n) from dual; =>3

3 聚集函数

  count(expr) 返回所选行中expr 列非空的数量

  示例:select count(cust_id) from customers  where cust_state_province = 'NY'; =>34

  avg(expr) 返回所选行的expr 列的平均值

  示例: select  avg(amount_sold) from saleswhere prod_id = 117;=>9

  sum(expr) 返回所选行的expr列的总和

  示例:select sum(amount_sold) from sales where prod_id = 117; =>4567

  min(expr) 返回所选行的 expr 列的最小值

  示例: select sum(prod_list_price) from  products; =>6.99

  max(expr) 返回所选行的expr 列的最大值

  示例:select  max(prod_list_price) from products; =>1288

4日期函数

 Sysdate 返回当前系统的日期 也可以用to_char 函数来获取时间

 示例: select  Sysdate from dual;

 Last_day(date) 返回日期所在月份的最后一天

 示例:select last_day('17-MAR-08') from dual;

 Add_months(d,n)  在日期d 基础上增加或减少 n 个月

 示例:select  add_months('21-APR-08',2) from dual;

 months_between(d1,d2) 返回日期 d1 和日期 d2之间相差的天数

 示例:select  months_between('17-MAR-61','21-APR-62') from dual;

 next_day(d,day) 返回日期d之后day天(一周中的星期几) 后对应的日期

 示例: select next_day('01-FEB-08','Sturday') from dual;

 current_timestamp 返回相对时区的当前时间戳

 示例:select sessiontimezone current_timestamp from dual;

5 特殊格式的日期数据类型

   Y 或YY 或YYY 年的最后一位,两位或三位

  示例:select  to_char(sysdate,'YYY') from dual;

  Q 年的季度

  示例:select to_char(sysdate,'Q') from dual;

 MM 月份

 示例:select  to_char(sysdate,'MM') from dual;

 Month 月份的名称 ,9个字符

 示例:select to_char(sysdate,'Month') from dual;

 WW 一年中的第几周

 示例: select to_char(sysdate,'WW') from dual;

 W 某月的第几周

 示例: select to_char(sysdate,'W') from dual;

 DDD 一年的第几天

 示例: select to_char(sysdate,'DDD') from dual;

 DD 某月的第几天

 示例: select to_char(sysdate,'DD') from dual;

 D 一周的第几天(1-7)

 示例: select to_char(sysdate,'D') from dual;

  

   

posted @ 2013-09-10 23:16  sulin  阅读(328)  评论(0编辑  收藏  举报