日期:2014-05-16  浏览次数:20620 次

Oracle日期函数/字符函数/数字函数/转换函数/聚合函数

Oracle日期函数:

MONTHS_BETWEEN:返回两个日期之间月份的差值

    MONTHS_BETWEEN('01-EP-95','11-JAN-94')  
    ===>19.6774194  

ADD_MONTHS:在日期上加上份数.

    ADD_MONTHS('11-JAN-94',6)  
    ===>'11-JUL-94'  

NEXT_DAY:指定日期的后一天.

    NEXT_DAY('01-SEP-95','FRIDAY')  
    ===>'08-SEP-95'  

LAST_DAY:月份中最后一天.

    LAST_DAY('01-SEP-95)  
    ===>'30-SEP-95'  

ROUND:四舍五入日期

    ROUND('25-JUL-95','MONTH') ===>01-AUG-95  
    ROUND('25-JUL-95','YEAR') ===>01-JAN-96  

TRUNC:截断日期

    TRUNC('25-JUL-95','MONTH') ===>01-JUL-95  
    TRUNC('25-JUL-95','YEAR') ===>01-JAN-95  

Oracle日期函数包括哪些:

YYYY----代表完整的年份
YEAR----年份
MM------两位数月份
MONTH---月份的完整名称
DY------每星期中天的三个字符
DAY-----天的完整名称

Oracle字符函数:

1.LOWER(string) 将输入的字符串转换成小写
	select lower('HELLO') from dual;

2.UPPER(string) 将输入的字符串转换成大写
	select upper('hello') from dual;
3.INITCAP(string) 将输入的字符串单词的首字母转换成大写。PS:如果不是两个字母连在一起,则认为是新的单词,例:a_b a,b  a b  类似前面这些情况,都a和b都会转换成大写
	select initcap('hello') from dual;

4.连接符(||),将两个字符串用||连接起来,除此之外还可以使用Concat函数来连接字符串。例:select CONCAT(City,country) from Table
	select concat('hello',' world') from dual;

5.LPAD和RPAD,填充函数,这是两个十分相似的函数,使用方式完全一样。允许在列的左[右]边填充一组字符。例:RPAD(city,20,'.'),如果ciy的值没有小于长度20的话,则用'.'在右边补齐,补到20个,如果是用空格补齐,看上去就是像左对齐一样。
	
6.LTRIM,RTRIM和TRIM,他们的作用是从字符串的左边,右边,左右两边删除不需要的字符,默认时删除空格。
	select ltrim('HelloWorld','Hello') from dual;
	select rtrim('HelloWorld','World') from dual;

7.LENGTH 该函数很简单,就是告诉用户一个字符串有多长,即字符串中有多少个字符,该函数本身并不是很好用,但可以做为其它函数的一部分,用于计算表格需要多少空格,或者做为orderby 子句的一部分。PS:您不能对一个使用LONG数据类型的列使用LENGTH之类的函数。

8.SUBSTR(string,start [,count]) 该函数告诉oracle提取出string一个子集,start开始位置,count提取长度,不指定count时,默认提取到该字符串的尾部。
  start同时也可以指定为负数,指定为正数的时候是从字符串的起始位置开始算(左边),指定负数时,是从末尾位置算(右边)。PS:负数不能使用于Char数据类型,因为Char是固定长度的,   所以将使用空格填充他们的值,直到扩展到列的全长。
  select substr('helloworld',3,5) from dual;

9.INSTR 返回指定的字符串所在的位置
  INSTR(string,set[,start [,occurrence ] ] ) 如果指定start,oracle则跳过前面所有字符串到该位置开始搜索,occurence,是强迫instr跳过前几次与字符串匹配,给出下一次匹配的位置,如果occurence指定3,那就是匹配第三次的位置了。 例 instr('ABACAAA','A',2,2) 从ABACAAA中匹配A这个字符串,从2个位置开始匹配,匹配第2次A所在的位置。PS:如果set中不止有一个字符而是有几个字符组成的,则INSTR给出该字符集中的第一个字符的位置。
  select instr('world','l') from dual;

10.translate(): 按字符翻译
select translate('helloworld','o','a') from dual;

11.replace(): 替换字符串
select replace('helloworld','world','续写经典') from dual;

Oracle数字函数:

1.1、ABS(n)函数

描述:返回数值n的绝对值。

Examples:select abs(-15) “test” from dual;
1.2、ACOS(n)函数

描述:返回数值n的反余弦值。输入数值范围在-1~1之间,返回值为弧度。

Examples:select acos(0.6) “test”,acos(-.6) “test1” from dual;
1.3、COS(n)函数

     描述: 返回数值n的余弦值。返回值为弧度。

Examples:select cos(1.6) “test”,cos(-6) “test1” from dual;
1.4、SIN(n)函数

     描述: 返回数值n的正弦值。

Examples:select sin(1.6) “test”,sin(-6) “test1” from dual;
1.5、ASIN(n)函数

    描述: 返回数值n的反正弦值。输入数值范围在-1~1之间,返回值为弧度。

Examples:select asin(0.6) “test”,asin(-0.6) “test1” from dual;
1.6、TAN(n)函数

    描述: 返回数值n的正切值。

Examples:select tan(6) “test”,tan(-0.6) “test1” from dual;
1.7、ATAN(n)函数

    描述: 返回数值n的反正切值。输入数值任意,返回值为弧度。

Examples:select atan(6) “test”,atan(-0.6) “test1” from dual;
1.8、ATAN2(n,m)函数

    描述: 返回数值n/m的反正切值。输入数值任意,返回值为弧度。

Examples:select atan2(19,3) “test”,atan2(-9,-0.9) “test1” from dual;
1.9、SINH(n)函数

    描述: 返回数值n的双曲正弦值。输入数值任意。

Examples:select sinh(6) “test”,sinh(-0.6) “test1” from dual;
1.10、TANH(n)函数

   描述: 返回数值n的双曲正切值。输入数值任意。

Examples:select tanh(6) “test”,tanh(-0.6) “test1” from dual;
1.11、CEIL(n)函数

   描述: 返回大于等于数值n的最小整数。

Examples:select ceil(6) “test”,ceil(6.6) “test1” from dual;
1.12、COSH(n)函数

   描述: 返回数值n的双曲余弦值。

Examples:select cosh(6) “test”,cosh(6.6) “test1” from dual;
1.13、EXP(n)函数

   描述: 返回e的n次冥。(e=2.71828183…)

Examples:select exp(6) “test