Orcale常用函数

  1.ascii

  作用: 返回指定的字符对应的十进制数

     select ascii('A') ,ascii('a'),ascii(' ') from dual;

 

    

2.chr

  作用:给出整数,返回对应的字符

     select chr(65) ,chr(54780) from dual;

    

3.concat

   作用:连接两个字符串

   select concat('Welcom' , 'to Dalian!');

  

4. INITCAP

  作用:返回字符串,并将字符串的第一个字母大写

   select    initcap('my name is Jim')from dual;

  

5.instr(C1,C2,I,J)

  C1    被搜索的字符串
  C2    希望搜索的字符串
  I     搜索的开始位置,默认为1
  J     出现的位置,默认为1

作用:在一个字符串中搜索指定的字符,返回发现指定的字符的位置;

6.Length

  作用:返回字符串的长度

7..LOWER

作用:将字符串转为小写

  

8.UPPER

作用:将字符串转大写

 

9.RPAD和LPAD(粘贴字符)

RPAD  在列的右边粘贴字符
LPAD  在列的左边粘贴字符

    

            

10.LTRIM和RTRIM

LTRIM  删除左边出现的字符串
RTRIM  删除右边出现的字符串

   

                             

 2016/5/23

11.Substr(string,start,count)

 作用:取子字符串,从string里以start开始,取得长度为count

   

12.Replace(string,str1,str2)

 作用:把字符串string的str1用str2替换

 

13.soundex

 作用:返回读音相同的字符串

 

14.ABS(number)

作用:返回数字的绝对值

  

 15. 数学函数

  •   ACOS  
  •   ASIN
  •   ATAN

16. CEIL(向上取整)

 作用:返回大于或等于给出数字的最小整数

  

17.Floor(取整数部分)

 

18. sign(返回1,0,-1)

 作用:判断一个数的符号(正数,0,负数)

19.trunc

作用:按照指定的精度截取一个数

       

20 日期函数

  • .ADD_MONTHS

       作用: 增加或减去月份

     

     

  • .last_Day()

     作用:返回日期的最后一天(sysdate代表当前系统时间)

    

  •  months_between()

   作用:返回两个日期之间有多少个月

 

  • 获取日期的月份,返回月份名称(全写)

select to_char(sysdate,'month') from dual;

获取日期的月份,返回月份简写

select to_char(sysdate,'mon') from dual;

 

  •  获取日期月份,返回月份数字

   select to_char(sysdate,'mm') from dual;

  • 返回日期是星期几(如果是大写就把day换成DAY)

select to_char(sysdate,'day') from dual;

  • 返回星期几的数字

select to_char(sysdate,'day') from dual;

  • 返回日期的季度

select to_char(sysdate,'Q') from dual;

  • 返回日期是一年的第几周

Select to_char(sysdate,'iw') from dual;

 

  • 返回日期是一年的第几天

 

  •  lead和lag函数

 作用:lead是对over里的规则进行排序,返回下n个序列

比如: lead(field ,1) over(order by field) 意思是往后推n列,而lag正好相反

1       2

2       3

3       4

4       5

  •  rank()和dense_rank()排名行数

 作用:根据字段进行排名,当然也可以分组,(partition by)

    用法:rank()  over(order by field)

语法:

rank() over (order by 排序字段 顺序)

rank() over (partition by 分组字段 order by 排序字段 顺序)

区别不同点,rank() : 不连续,例如:

            3658  1

            2500  2

            2500  2

            1800  4

dense_rank():连续,例如:

            3658  1

            2500  2

            2500  2

            1800  3

 

 

学习来源

posted @ 2016-05-20 11:33  Blue眼泪2016  阅读(640)  评论(0编辑  收藏  举报